当屏幕关闭时,Android是否会降低下载速率?



我发现,如果我在应用程序上使用屏幕时使用wget,我可以更快地下载文件。这获得了一个屏幕模糊唤醒锁定比做同样没有这个应用程序和关掉屏幕……我下载了完全相同的文件(从我的apache web服务器),当我在应用程序上使用屏幕时,时间几乎快了两倍。为了下载这个文件,我使用了移植版本的wget..我的问题是:

当屏幕关闭时,Android会降低下载速率吗?

或者由于应用程序上的屏幕获得唤醒锁,迫使CPU始终处于开启状态,因此更多的CPU周期用于下载过程。

简短的回答是是的,当屏幕关闭时,Android有时会降低下载速率。根据这个Android漏洞报告(90个用户打了星),

似乎,即使有"Wifi睡眠政策",设置为"永不",当屏幕关闭时,部分Android设备的wifi将进入省电模式(即PSP模式)。

PSP模式显然会使wifi设备处于睡眠状态,但会周期性地唤醒,并要求其接入点在设备处于睡眠状态时向设备发送地址数据包。这必然会导致额外的"刺痛"。网络延迟。这种额外的延迟意味着当屏幕关闭时,一些面向网络的应用程序会遇到问题。

这或多或少与你所描述的行为相关。此问题仅影响部分手机,而不是全部,并且仅影响某些版本的Android。我建议你访问上面的bug报告,关于这个问题有很长的讨论。

如何解决这个问题

Android 2.3至少有一个解决方案:你需要获得WIFI_MODE_HIGH_PERF锁:

在这种Wi-Fi锁定模式下,Wi-Fi将保持在WIFI_MODE_FULL模式下的活动状态,但即使在设备屏幕关闭时,它也能以最小的数据包丢失和低数据包延迟运行。此模式将消耗更多的功率,因此应仅在需要此类活动连接时使用。

Android的CPU时钟缩放

Android基于Linux内核,使用CPUFreq Governors调节CPU频率以节省电池。确切的策略和频率因供应商而异,可能会发生变化。还有一些实用程序可以让你调整这些策略,但它们都需要有根的手机。通常,安卓手机会降低CPU频率,使用"省电"功能。总督时,屏幕关闭。

然而,我不认为手机上的网络流量是cpu限制的。也就是说,即使在电源安全模式下,网络吞吐量也是瓶颈,而不是CPU速度。

最新更新