【发布时间】:2013-08-22 12:02:29
【问题描述】:
我的后台服务正在尽快将消息发送到本地服务器。 每条消息通常需要大约 30 毫秒。但是当手机处于睡眠模式时,大约需要 400 毫秒到 1000 毫秒(使用“正确”的 Wifi 策略关闭屏幕)
在我的服务中,我使用以下代码来获取 Wifi-lock 和 WakeLock。
PowerManager lPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = lPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WakeLockTag");
WifiManager lWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) {
mWifiLock = lWifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF, "LockTag");
} else {
mWifiLock = lWifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL, "LockTag");
}
mWifiLock.acquire();
mWakeLock.acquire();
是否可以获得与屏幕开启时相同的性能?
【问题讨论】:
-
我在我的 HTC 欲望 API 8 上看到了类似的问题,你有哪款手机?
-
我在 Cyanogenmod 上注意到了这一点,手机没关系..
标签: android android-wifi wakelock