如果一个服务使用不同的意图多次调用startService()
,那么当应用程序由于内存不足而被终止后重新启动时,它如何处理START_REDELIVER_INTENT
?
示例:我用不同的startService(intent, class)
调用Intents
三次。在服务自身停止之前,操作系统会由于内存使用而终止应用程序或服务。稍后,服务返回。根据START_REDELIVER_INTENT
onStartCommand()
应该以启动它的原始意图调用它。三个人都要吗?只有第一个?只有最后一个?
我想测试一下,但我想知道会发生什么,而不仅仅是我的特定设备会做什么。谢谢!
最佳答案
三个人都要吗?只有第一个?只有最后一个
一个?
只有最后一个。
documentation非常清楚这一点:
…如果此服务的进程在启动时被终止(在从onStartCommand()
返回后),则它将被安排重新启动,并将上次传递的意图重新传递到
再次通过onStartCommand()
。