Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当屏幕打开时,Wi-Fi或CPU是否可以进入睡眠状态?_Android_Android Lifecycle_Android Networking - Fatal编程技术网

Android 当屏幕打开时,Wi-Fi或CPU是否可以进入睡眠状态?

Android 当屏幕打开时,Wi-Fi或CPU是否可以进入睡眠状态?,android,android-lifecycle,android-networking,Android,Android Lifecycle,Android Networking,Android上有WakeLocks和WifiLocks,但如果我的屏幕从未关闭过,我需要它们吗 我使用持久性连接(例如WebSockets)长达数十分钟甚至数小时。我的屏幕始终打开是否足以防止设备丢失这些连接(如果我们假设连接保持可用且服务器正常) 为了保持屏幕打开,我使用标准方式: getWindow().addFlags(WindowManager.LayoutParams.FLAG\u保持屏幕打开) 医生怎么说: 为了避免耗尽电池,闲置的Android设备很快就会进入睡眠状态 () 通常

Android上有
WakeLock
s和
WifiLock
s,但如果我的屏幕从未关闭过,我需要它们吗

我使用持久性连接(例如WebSockets)长达数十分钟甚至数小时。我的屏幕始终打开是否足以防止设备丢失这些连接(如果我们假设连接保持可用且服务器正常)

为了保持屏幕打开,我使用标准方式:

getWindow().addFlags(WindowManager.LayoutParams.FLAG\u保持屏幕打开)

医生怎么说:

为了避免耗尽电池,闲置的Android设备很快就会进入睡眠状态

()

通常情况下,当用户有一段时间未使用该设备时,Wi-Fi收音机可能会关闭

()

这是否意味着…

当用户长时间不与设备交互时(即使屏幕仍然打开),Wi-Fi收音机或CPU可能会进入睡眠模式或关闭


更具体地说,后台任务(例如,
IntentService
)的Wi-Fi或移动数据连接是否会在仍有保持屏幕打开的
活动时进入睡眠状态?

如果屏幕打开,cpu将不会进入深度睡眠状态。Flag keep screen on(旗帜保持屏幕打开)是一种更智能的方式,可以保持屏幕打开,而不是唤醒锁,以节省电池寿命。通过下面的链接阅读 在这篇文章中,哈克伯恩斯发表了评论

Wifi在system->Wifi->advance中有其睡眠策略选项。在这种情况下,如果它始终处于打开状态,则不会进入睡眠模式

当屏幕打开时,Wi-Fi或CPU是否可以进入睡眠状态

没有

Android上有WakeLocks和WifiLocks,但如果我的屏幕从未关闭,我需要它们吗

我不太清楚你的屏幕是怎么从不关机的。在一天结束的时候,一个
WakeLock
总是被卷入其中。您是否需要
WakeLock
,或者该
WakeLock
是否由框架类(例如,
android:keepScreenOn
)或操作系统(例如,保持屏幕打开的设置选项)管理,将取决于您正在执行的操作

我从未见过安卓设备在屏幕打开时(而不是在锁屏时)关闭WiFi。我不能排除WiFi可能会因为某些制造商极端节能模式下的电池电量不足而断电的可能性

我的屏幕始终打开是否足以防止设备丢失这些连接(如果我们假设连接保持可用且服务器正常)

我更愿意用“开着屏幕会有帮助”来形容它。或者,更好的是,让设备进入睡眠模式通常会中断您的WiFi连接

要保持屏幕打开,我使用标准方式:getWindow().addFlags(WindowManager.LayoutParams.FLAG_keep_screen_on)

这意味着您使用的是
唤醒锁
。碰巧它是为您管理的,因为您不能把它搞砸,所以您不需要
WAKE\u LOCK
权限

当用户长时间不与设备交互时(即使屏幕仍然打开),Wi-Fi收音机或CPU可能会进入睡眠模式或关闭

对于一个普通的设备,不。我不能排除一些制造商做一些可能有这种行为的电子墨水的事情

更具体地说,后台任务(如IntentService)的Wi-Fi或移动数据连接是否会在仍有活动保持屏幕打开时休眠

不应该。特别是,移动数据连接从未进入睡眠状态


话虽如此,除非这是一个完全受控的环境,否则你所做的事情的可靠性会很差。你做了很多假设:

  • 某种永久性电源

  • 没有人会干扰设备,将您的活动移动到后台或退出“后退”按钮

  • 没有人会干扰WiFi网络,无论是在一般情况下还是在设备设置上(例如,将其置于飞行模式)

  • 等等

如果这是某种工业过程监视器或信息亭设备,那么你完全控制这些东西的可能性是不错的,但不是很大。你得到的远不止这些,而且这些东西很快就撑不住了


你有推荐信吗

在一个理想的世界里,所有这些都会被完美地记录下来,所有民族之间都会有和平,海莉·阿特维尔会认为我是一个体面的小伙子

这不是一个理想的世界


不仅这些东西基本上没有文档记录,而且真正取决于设备制造商。这就是为什么如果这不是一个非常受控的环境,尽管欢迎你尝试这种行为,但现实世界非常混乱,你不应该假设你可以无限期地保持连接。

谢谢。这基本上就是我在问题中写的,假设是什么。你有推荐信吗?否则,这不会以任何方式推动主题的发展。如果想要深入了解android电源管理,也可以使用参考链接更新ans。