什么时候android会在没有唤醒锁定的情况下停止其CPU?

@H_502_1@我知道 android使用唤醒锁来保持cpu运行或屏幕打开.
很明显,屏幕唤醒锁定会阻止用户活动计时器在用户不活动一段时间后关闭屏幕.

但是我想知道什么时候cpu唤醒锁定才会生效.

1.如果我创建一个新线程并在后台排除cpu而没有任何唤醒锁定,关闭屏幕将不会停止它.它会停止吗?什么时候会停止?

2.使用Timer.schedule()安排的线程怎么样?

3.如果我在服务中保留一个套接字连接,则会导致另一个问题,该服务在socket.read()处被阻止.我是否必须获取唤醒锁以确保当套接字从远程接收任何数据时将唤醒服务?

谢谢.

解决方法

回答所有子问题

>当没有唤醒锁定处于活动状态时,Android会休眠.无论什么进程和线程正在运行它仍然会睡觉.这意味着如果你的线程或其他进程没有激活唤醒锁定,你的线程将不会执行,因此不会耗尽任何电池.只有当某些其他进程获取唤醒锁时,该线程才会处于活动状态.>同样适用于Timer.schedule().假设您编写了一个每秒执行但没有任何唤醒锁定的计时器,并说安卓进入睡眠状态10秒钟.当它在第11秒唤醒p时,它将识别你的计时器已经过期10次,它将简单地丢弃9个实例并仅执行一次.如果您需要非常可靠的计时器,则必须获得唤醒锁或用户AlarmTimer.>是的.

相关文章

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