1

我有一个由 startService 启动并与 BIND_AutoCreate 绑定的服务,我希望我的服务在 android 因内存不足而杀死它时自动运行,我该如何植入它?

谢谢'

4

2 回答 2

0

您必须注册广播接收器,ACTION_DEVICE_STORAGE_OK这表明设备上的低内存条件不再存在。在onReceive()方法中检查您的服务是否已停止,请启动它。

DEVICE_STORAGE_OK当设备从低内存状态(内部存储器)中恢复时广播该操作。我认为这是一个完美的事件,您可以检查您的服务是否在系统内存恢复期间被杀死,如果被杀死则启动它。

请在此处阅读文档

于 2012-05-19T09:32:55.473 回答
0

如果服务是由于BIND_AUTO_CREATE绑定而创建的,如果它没有绑定任何活动,它将被停止。

根据文档(服务生命周期),您可以显式启动服务,然后绑定启用自动创建标志。

如果您以 STICKY 显式启动服务(在其 * onStartCommand* 方法中返回 START_STICKY ,则只要系统有更多资源,它将自动重新启动。

于 2012-05-19T14:14:17.530 回答