如果一个服务使用不同的意图多次调用startService(),那么当应用程序由于内存不足而被终止后重新启动时,它如何处理START_REDELIVER_INTENT
示例:我用不同的startService(intent, class)调用Intents三次。在服务自身停止之前,操作系统会由于内存使用而终止应用程序或服务。稍后,服务返回。根据START_REDELIVER_INTENTonStartCommand()应该以启动它的原始意图调用它。三个人都要吗?只有第一个?只有最后一个?
我想测试一下,但我想知道会发生什么,而不仅仅是我的特定设备会做什么。谢谢!

最佳答案

三个人都要吗?只有第一个?只有最后一个
一个?
只有最后一个。
documentation非常清楚这一点:
…如果此服务的进程在启动时被终止(在从onStartCommand()返回后),则它将被安排重新启动,并将上次传递的意图重新传递到
再次通过onStartCommand()

10-08 15:03