Play Store更新应用程序时的Android应用程序生命周期

Play Store更新应用程序时的Android应用程序生命周期,android,google-play,apk,auto-update,android-update-app,Android,Google Play,Apk,Auto Update,Android Update App,在Play Store更新应用程序时,我找不到有关应用程序进程生命周期的信息 例如,当应用程序的进程正在运行,某些服务执行某些操作,然后更新启动时,我希望在成功更新apk后,整个进程被终止(在“旧”应用程序运行的地方),然后进程再次启动(启动“新”应用程序) 对于自动更新的应用程序和手动更新的应用程序,这种行为会有所不同吗?您可以停止服务,然后通过定义一个广播接收器,并将其替换为包,检查哪个包已更新,如果它指定您的应用程序已更新,则执行必要的任务。它同时适用于自动更新和手动更新。我刚刚通过Pla

在Play Store更新应用程序时,我找不到有关应用程序进程生命周期的信息

例如,当应用程序的进程正在运行,某些服务执行某些操作,然后更新启动时,我希望在成功更新apk后,整个进程被终止(在“旧”应用程序运行的地方),然后进程再次启动(启动“新”应用程序)


对于自动更新的应用程序和手动更新的应用程序,这种行为会有所不同吗?

您可以停止服务,然后通过定义一个广播接收器,并将其替换为包,检查哪个包已更新,如果它指定您的应用程序已更新,则执行必要的任务。它同时适用于自动更新和手动更新。

我刚刚通过Play Market(real devices,Android 7.0版三星平板电脑,Android 8.0.0版One Plus)手动测试了这个案例

  • 如果应用程序正在前台运行,并且您对其进行了更新,则该应用程序将被终止。没有重新启动。当你重新开始时,应用程序是从头开始创建的
  • 如果应用程序在后台运行-相同的行为
您还可以通过命令
adb install-r yourApp.apk
模拟应用程序更新。正如上面提到的那样

我注意到,当应用程序正在运行并且您使用上面提到的adb命令重新安装应用程序时,
ondestory
不会被调用。应用程序未重新启动。当你重新开始时,它是从头开始创建的。基本上,与我使用Play Market手动测试时的行为相同

作为结论,当Play Market更新应用程序并运行(后台或前台)时,它只会被系统杀死