android – 服务,WakeLock

经过问题和答案后,我有些困惑关于WakefulIntentService的Stackoverflow中的答案.我只想了解这个主题,以确保我的理解是正确的,如果我错了,请随时纠正我.

我构建了一个小应用程序,在那里我使用一个后台服务,每当用户摇动移动设备时,都会播放音乐.我在设备锁定后测试,屏幕已关闭,并且按预期工作.

>我从this forum听到的内容,服务可能会在设备进入睡眠状态后关闭.真的吗?在我的情况下,它总是工作,我错过了什么吗?
WakeFulIntentService需要什么?我们什么时候需要使用WakefulIntentService?
>我尝试在服务中运行定时器,虽然设备被锁定,我的定时器运行相当可靠,我可以肯定地说.因为当我的定时器跳闸时,我曾经收到通知.

解决方法

What I am hearing from this forum,the service might turn off as soon the device goes to asleep. Is that true?

是.

In my case,it works always

然后,您的设备上的其他内容会阻止设备入睡.也许使用adb shell dumpsys的权力来看看什么是WakeLocks的优秀.

What is the need of WakeFulIntent Service? When do we need to use WakefulIntentService?

如果用户处于非活动状态,设备可能会睡着,并且没有任何保持设备唤醒. WakeLock用于确保设备保持清醒状态.对于事务型工作(例如下载文件),WakefulIntentService组合了IntentService和WakeLock,以使设备保持时间尽可能长(只需要尽可能长的时间)就会比较容易.

WakefulIntentService不适用于需要无限期运行的服务,如音乐播放器.对于那些,管理你自己的WakeLock.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...