【发布时间】:2021-03-11 22:11:52
【问题描述】:
我的应用程序根据用户的位置确定速度限制,并告诉用户他是否超过了它。 从 Android API 级别 30 及更高级别开始,Google 已将 IntentService 定义为deprecated,并建议使用WorkManager 或JobIntentService,并声明必须从Firebase JobDispatcher 迁移到WorkManager。我看到了解决这个问题的两种方法:
- 启动OneTimeWorkRequest,并指定在应用程序在后台运行时在此方法中定期重启此方法。
- 运行PeriodicWorkRequest,最小允许间隔为 15 分钟。在这个方法中,运行JobIntentService方法,runs for up to about 10 minutes,但是该方法可能没有运行,或者可能在完成之前被系统销毁。
我很担心:
- 潜在的内存泄漏;
- WorkManager 或 JobIntentService 在从前台转到后台(反之亦然)时可能出现问题
- 能够使用 MVVM 模式
【问题讨论】:
标签: android location intentservice android-workmanager jobintentservice