有什么方法可以保护应用程序免受低记忆杀手的杀害?

时间:2012-10-09 22:42:11

标签: android

是的,避免被低记忆杀手杀死。 AndroidManifest.xml中有任何选项吗?

May app包含一项服务,需要在后台一直运行。

我的应用程序位于系统/应用程序中,运行重要服务。这是我们的设计。

有很多应用程序正在运行,我无法控制其他人来节省内存,但我想要一种方法让Android不会杀死我,就像手机应用程序和SystemUi一样。

在Android中,oom_adi较低的应用程序被杀的可能性较小。为此,只需设置(application android:persistent="true")。

3 个答案:

答案 0 :(得分:3)

  

保护应用程序免受低内存杀手杀死的任何方法?

不是真的。如果您(和用户)认为您的服务是前台用户体验的一部分,则可以使用startForeground(),但这样会在状态或系统栏中显示Notification

  

需要一直在后台运行

用户可以随时摆脱您的服务(例如,通过在Android 4.0 +上的“近期任务”列表中刷新您的条目,通过任务杀手,通过“设置中的强制停止”)。真正需要永久服务的应用程序注定要失败。

答案 1 :(得分:1)

Android非常高效,擅长处理这样的场景;正如Commonsware在上面指出的那样,如

  

用户可以随时摆脱您的服务

您的应用无法控制用户这是OP的问题所在,试图(相当无力)减轻最终用户的行动和选择!

不是在尝试“ 击败 ”低内存杀手时浪费精力,而是 重新考虑并重新设计您的应用 以这样的方式,它不会占用Android所介入的资源,并说“嘿,停止玩我已经抛弃到你的应用程序的宝贵资源,否则我会杀了你< / em>“,非常字面意思!

答案 2 :(得分:0)

研究使用警报而不是长时间运行的服务。大多数时候,如果没有服务总是在那里,你可以完成同样的事情。