Android模拟器:由于内存不足,模拟进程重新启动的简单方法



正如我刚刚了解到的,Android保留随时终止后台应用程序进程以回收RAM的权利。应用程序仍在运行,但可以恢复,但我的所有静态变量都不见了(请参阅本文)。

我想在这种情况下模拟我的应用程序的行为。做这件事最简单的方法是什么?肯定有一种比编写一些额外的分配大量内存的应用程序更容易、更可预测的方法。

发现两个类似的问题模拟模拟器中的活动扼杀和模拟低电池&安卓系统内存不足。

这些问题的解决方案:

  • 使用adb shell然后使用killpsPID的过程
  • 使用DDMS杀死它

简短回答:如果使用模拟器,请更改方向。如果使用实际设备,请转到设置-->开发人员选项-->不保留活动来更改设置。

有关详细解释,请参阅我对此的回答。

要终止后台进程(但仍然通过历史重新启动),只需在模拟器或设备上使用活动管理器shell命令:

$ adb shell am kill com.my.package

另一种方法是为包构建一个调用killBackgroundProcesses()的超基础应用程序,因为这种方法"与内核杀死这些进程以回收内存相同;系统将在未来根据需要重新启动这些进程。"

最新更新