android:persistent与Service.START_STICKY有什么区别?

问题描述 投票:0回答:1

这个blog清楚地解释了它们之间的区别

  • Service.START_STICKY
  • Service.START_NOT_STICKY
  • Service.START_REDELIVER_INTENT

现在看完这篇文章后,我在使用AndroidManifest.xml查看此服务声明时感到困惑

<service android:name="com.amazon.tablet.myapplication.MyService" android:persistent="true"></service>

到目前为止,我假设/理解在服务声明中制作android:persistent=true会将服务转为持久性,并在服务声明失效时重新启动。但是,如果没有单独使用persistent=trueService.START_STICKY,我就能够实现这一目标。

  1. android:persistent=true和这些属性Service.START_STICKYService.START_REDELIVER_INTENT有什么区别?
  2. 重新创建服务后,应用程序会重新启动吗?我试图了解在重新创建服务时是否会创建应用程序的过程。 注意:我使用android:persistent=true属性声明了该服务,并尝试用adb shell kill <pid>杀死我的应用程序,但它已重新创建。在这种情况下,我想知道/不理解服务娱乐与应用娱乐之间的区别。
android service android-service persistence
1个回答
0
投票

1.服务.START_STICKY

这将等待启动服务的意图(一旦与此相关联的进程被杀死)

2. android:persistent =“true”

这将使服务相应地持久化为true / false,并且不会等待再次启动服务的意图(一旦它因LMK而被杀死)

3.服务与应用持久性

通过使服务持久化,这将使与其关联的进程持久化。与应用案例相同。

当您为服务声明一个单独的进程时,您的应用程序将不会持久。

© www.soinside.com 2019 - 2024. All rights reserved.