2013-08-20 22 views
6

Dịch vụ nền của tôi đang gửi tin nhắn đến máy chủ cục bộ nhanh nhất có thể. Mỗi tin nhắn mất bình thường khoảng 30ms. Nhưng khi điện thoại ở chế độ ngủ, phải mất khoảng 400ms-1000ms (màn hình tắt với chính sách Wifi 'chính xác')Wake + Khóa Wifi không có hiệu lực

Trong dịch vụ của tôi, tôi đang sử dụng mã sau để mua khóa Wifi và 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(); 

Có thể có hiệu suất giống như khi màn hình bật không?

+0

Tôi đã thấy các sự cố tương tự với API mong muốn HTC 8 của mình, bạn có điện thoại nào? – Ahmed

+0

Tôi nhận thấy điều này trên CyanogenMod, điện thoại không quan trọng .. –

Trả lời

0

Theo thông tin của tôi, có sự cố đã biết - Một số thiết bị không đáng tin cậy với sự kết hợp của PARTIAL_WAKE_LOCK và WifiLock: WIFI_MODE_FULL_HIGH_PERF.

Nó không hoạt động tốt khi màn hình TẮT.

Bạn có thể kiểm tra thêm với SCREEN_DIM_WAKE_LOCK trên thiết bị cụ thể đó.