由于处理大量位图,我的应用程序有时会点击OutOfMemoryError
。我正在捕捉错误,我想向用户显示一个对话框,让他们知道他们需要杀死一些后台任务以释放内存。如果有一个按钮可以打开一个执行此操作的应用程序,那将会很不错。
有没有办法启动启动的Intent:
Applications Manager>运行进程(因此用户可以强制停止某些任务)
或者更好的选择是从用户可能安装的任何应用程序中选择允许您进行处理的选项(例如:高级任务管理器)
更好的选择是自动清理后台活动,但我怀疑这是可能的。
答案 0 :(得分:1)
由于处理大量位图,我的应用程序有时会遇到OutOfMemoryError。
这意味着您自己的进程'堆不能为您的位图分配块。
我想向用户显示一个对话框,让他们知道他们需要杀死一些后台任务以释放内存
即使你有可能提出这样的对话,也会完全浪费你的时间和用户的时间。其他应用程序进程的存在或缺乏将对您自己的应用程序中的堆无效。
有没有办法启动启动的Intent
我不知道这样的Intent
。
更好的选择是自动清理后台活动,但我怀疑这是可能的。
当您不再需要时,欢迎(甚至鼓励)finish()
您自己的活动,以释放您应用程序其余部分可以使用的堆中的内存。
答案 1 :(得分:1)
这可能无法解决问题或建议您寻找什么。但是当您加载大型位图和相关的OOM异常时,this链接值得一读
要在设置中加载应用程序屏幕,这是您可以获得的关闭
startActivity(new Intent(Settings.ACTION_APPLICATION_SETTINGS));
但是,为什么要关闭其他应用以让您的应用运行起来。用户将卸载您的应用程序,而不是弄乱您的应用程序配对!