唤醒+Wifi锁定无效



我的后台服务正在尽可能快地向本地服务器发送消息。每条消息通常需要30毫秒。但当手机处于睡眠模式时,大约需要400毫秒-1000毫秒(根据"正确"的Wifi策略关闭屏幕)

在我的服务中,我使用以下代码来获取Wifi锁和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();

有可能获得与屏幕打开时相同的性能吗?

据我所知,存在已知问题-某些设备结合PARTIAL_WAKE_LOCK和WifiLock:WIFI_MODE_FULL_HIGH_PERF不可靠。

当屏幕关闭时,它不能很好地工作。

您可以在该特定设备上使用SCREEN_DIM_WAKE_LOCK进行进一步检查。

最新更新