当前位置:   article > 正文

Android9Android8中服务Service的限制与解决方案_后台限制 无法限制后台使用 自充满电后 在前台运行时 在后台运行时

后台限制 无法限制后台使用 自充满电后 在前台运行时 在后台运行时

随着近几年来 Android 的不断发展,Google 逐步加强了对于后台执行的优化和限制。为了开发出现代化的 Android 应用,开发者需要学习如何通过最新方式来管理后台任务。

系统如何判定应用处于后台?

在理解后台执行这个概念之前,我们先来看看 Android 系统是如何定义前台应用的。当应用满足以下任意条件时,系统会判断应用处于前台:

如果以上条件均不满足,应用将被视为处于后台。

后台执行的相关行为变更

在后台运行应用会消耗设备的有限资源,如内存或者电池电量,进而影响用户的使用体验,比如说,后台任务可能会缩短设备的续航时间,或者在用户玩游戏、看视频或拍照时造成系统卡顿。

为了改善续航表现和用户体验,Android 在版本演进的过程中,针对后台执行进行了不同程度的限制,其中包括:

使用案例及解决方案

开发者在选择后台执行工具前,首先要对应用需求和限制场景有个清晰的了解,我们建议您参照以下流程图,为应用制定最佳的后台决策:

将任务编入队列后,WorkManager 会在约束条件满足的情况下,即当应用可以访问所需资源时,才会执行这两个任务。

WorkManger 的另一个优势在于它可以与 Android 的电量管理特性协同工作。假设某个任务的指定执行时间恰好落在低耗电模式时段内,那么 WorkManager 便会在维护窗口时段 (如果此时约束条件已满足,或设备暂时退出了低耗电模式) ,尝试运行该任务。

在触发标准闹铃后,您会有几秒钟的时间完成工作,此时应用可能无法访问网络 (例如,系统处于低耗电模式,或者应用被归入某一待机群组)。如果您必须访问网络,或者任务执行时间较久,请调用 WorkManager。每当唤醒闹钟被触发后,设备就会退出低电量模式并持有一个局部唤醒锁,而长时间持有唤醒锁会严重影响设备的续航时间。建议您通过 Google Play 管理中心提供的 Android Vitals 来监测应用是否存在过度唤醒的问题。

总结:

合理的后台执行策略可以帮助您开发出卓越的应用,在打造完美用户体验的同时,为设备保驾 “续” 航。如果您想进一步了解后台执行的相关讯息,请访问 Android 开发者官网。

请注意:WorkManager 目前只发布了公共预览版,您可以继续使用 JobScheduler 作为替代方案,不过和 WorkManger 相比,JobScheduler 有更多的局限。 JobScheduler 属于 Android 框架的一部分,它仅在 API ≥ 21 的系统上可用;而 WorkManager 则支持 API 14 及更高版本。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/273027
推荐阅读
相关标签
  

闽ICP备14008679号