如果设备的资源不足,Android中的Service
将被终止。我如何制作一个永生而且永不退出的守护进程或服务?
答案 0 :(得分:2)
已启动的服务可以使用 startForeground(int,Notification) API将服务置于前台状态,系统认为该服务是用户主动了解的内容,因此不是当内存不足时被杀的候选人。 (从理论上讲,服务在当前前台应用程序的极端内存压力下被杀死仍然是可能的,但实际上这不应该是一个问题。)
答案 1 :(得分:2)
使用Service.startForeground(int id, Notification notification)
:http://developer.android.com/reference/android/app/Service.html#startForeground(int,android.app.Notification)
将告诉系统用户需要该服务,不应该被杀死。 API会强制您在此期间显示通知图标。
但是,系统可以在极端情况下杀死任何想要的东西,以便回收内存。