【问题标题】:Does work done in Application onCreate() persist after app is backgrounded?在应用程序后台运行后,Application onCreate() 中完成的工作是否仍然存在?
【发布时间】:2020-04-22 01:13:55
【问题描述】:

我的应用在前台和后台执行一些重复性工作。在后台,工作可以由 BroadcastReceiver 或 WorkManager 任务启动。但是,在完成这项工作之前,需要完成一些一次性设置。

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

  • 一旦应用程序进入后台并最终进入空闲状态,此设置是否会持续存在?
  • 如果我的应用程序因系统内存不足而启动,下次我的后台任务启动(通过 BroadcastReceiver 或作为计划的 WorkManager 任务)时,onCreate() 是否会被调用,从而再次正确设置我的应用程序?
  • 当从监听BOOT_COMPLETED 的BroadcastReceiver 启动后台工作时,即使用户尚未明确启动应用程序,onCreate() 是否会在后台被调用?

【问题讨论】:

    标签: android android-workmanager android-background


    【解决方案1】:

    应用程序也有生命周期,所以 oncreate 所以如果你从主页按钮关闭应用程序或系统需要内存将转到 ondestroy 功能,所以 oncreate 是不好的选择,所以你可以使用在后台工作的服务并推送本地android通知来通知用户,点击它会再次打开应用程序

    【讨论】:

    • if system need memory will go to ondestroy function 不,它不会 so oncreate is bad choice 不,它不是。尽管您确实需要在 AndroidManifest.xmlBOOT_COMPLETED 中使用 BroadcastReceiver
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2011-04-02
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多