唤醒+Wifi锁定无效果。

6
我的后台服务正在尽可能快地向本地服务器发送消息。每条消息通常需要约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();

在屏幕开启时能否获得相同的性能?


我曾经在我的HTC Desire API 8手机上遇到过类似的问题,你用的是哪款手机? - Ahmed
我注意到这个问题在Cyanogenmod上出现,手机型号并不重要。 - Ion Aalbers
1个回答

0
据我所知,有一个已知的问题 - 一些设备在使用PARTIAL_WAKE_LOCK和WifiLock:WIFI_MODE_FULL_HIGH_PERF组合时不可靠。
当屏幕关闭时,它无法正常工作。
您可以在该特定设备上进一步检查SCREEN_DIM_WAKE_LOCK。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接