在后台避免安卓应用冻结

时间:2016-09-25 08:14:12

标签: android service

我已经实现了一个已启动的Service,它将继续在后台运行(onStartCommand returns START_STICKY)。在5.1设备上,我发现从最近任务中滑动当前任务会导致Service无法重启,但4.2设备上的情况并非如此。

在SO上建议的解决方法是设置警报以在1秒后重新启动service也不起作用。

经过一番研究后,我发现在BATTERY设置下,我们可以选择是否在后台冻结应用程序。默认行为是冻结后台执行。

我是否需要寻求允许应用继续在后台运行的特定permissions

1 个答案:

答案 0 :(得分:0)

为了避免背景问题,您需要避免在

中进行ui更新
protected void onPause() {

您活动的功能。

如果您使用的是服务 对于Android 2.0或更高版本,您可以使用startForeground()方法在前台启动服务。

  

启动的服务可以使用startForeground(int,Notification)API   将服务置于系统考虑的前台状态   它是用户积极意识到的东西,因此不是   当内存不足时被杀的候选人。