应用程序后台运行后,在应用程序onCreate()中完成的工作是否仍然存在?

时间:2020-04-22 01:13:55

标签: android android-workmanager android-background

我的应用程序在前台和后台都执行一些重复性工作。在后台,可以通过BroadcastReceiver或WorkManager任务开始工作。但是,在完成这项工作之前,需要完成一些一次性设置。

我的应用程序的onCreate()是一次性执行此设置的正确位置吗?具体来说:

  • 一旦应用程序进入后台并最终进入空闲状态,此设置是否会继续?
  • 如果由于系统内存不足而启动我的应用程序,则下次启动我的后台任务时(由BroadcastReceiver或作为计划的WorkManager任务)将调用onCreate(),因此设置了我的应用程序再次正确吗?
  • 从广播接收器收听BOOT_COMPLETED开始后台工作时,即使用户尚未明确启动该应用,也会在后台调用onCreate()吗?

1 个答案:

答案 0 :(得分:0)

该应用程序还具有生命周期,因此 oncreate ,因此,如果您通过主屏幕按钮关闭应用程序,或者如果系统需要内存,则会转到 ondestroy 函数,因此oncreate是错误的选择,因此您可以使用在后台工作的服务并推送本地android通知来通知用户,当其单击时将再次打开应用