0

我有一個應用程序在啓動時持有PARTIAL_WAKE_LOCK,然後釋放onDestroy。在設備剛被放置/屏幕變暗時,隨機地在一段時間40分鐘 - 2小時後崩潰。爲什麼控制PARTIAL_WAKE_LOCK導致隨機系統崩潰?

經過一番調查後,我發現釋放wake onPause可以阻止這個問題的發生。然而,這並不是我想要的,即使屏幕關閉,我也希望鎖能夠保持開啓。

任何人都可以告訴我是否必須釋放喚醒鎖onPause?或者其他任何建議都會有幫助。

基本實現:

public class myActivity extends Activity { 

    PowerManager.WakeLock wakeLock; 

    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 

     PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE); 
     wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WakeLock"); 
     wakeLock.acquire(); 

    } 

    @Override 
    public void onDestroy() { 
     if (wakeLock.isHeld()) { 
      wakeLock.release(); 
     } 

     super.onDestroy(); 
    } 
} 

回答

0

看來它的設備之間變化。我懷疑可能是由於製造商/設置軟件可能會殺死線程。

我測試了約5個不同的設備華爲&三星。這個問題主要出現在華爲設備上,是Android的新版本。可能是需要解決的問題。

注意事項:如果您的手機屏幕變暗並且您沒有按住wakelock,WiFi可能會死機取決於設備。由於製造商的差異,WiFi鎖定浪費時間。