START_STICKY和START_REDELIVER_INTENT之间的区别?

Rak*_*esh 16 android android-intent android-service

我正在为我的Android应用程序创建一个服务,通过Intents向服务提供数据.问题是,当系统销毁服务时,提供给它的意图数据无法恢复,因此我的应用程序崩溃了.

我听说START_REDELIVER_INTENT只要有足够的内存可用于恢复提供给服务的意图数据就会重新启动我的服务,而START_STICKY不会恢复意图数据.

我对吗 ?还是有什么我不知道的?

此外,我的服务将在系统销毁后永远重启.

在此输入图像描述

Jit*_*yay 25

START_STICKY-在保留状态并从低内存恢复后,它将告诉系统创建服务的最新副本,当可用内存足够时.在此过程中,我们将丢失之前可能计算的结果.

START_REDELIVER_INTENT-它将告诉系统重新启动并在崩溃后重新获得服务,并重新发送崩溃发生时存在的意图.

除此之外,我们还可以提一点 START_NOT_STICKY

START_NOT_STICKY-即使有足够的可用内存,它也会告诉系统不要担心并打扰重启服务.

请访问更多

http://developer.android.com/reference/android/app/Service.html