为什么保存partial_wake_lock会导致随机系统崩溃



我有一个应用程序,将partial_wake_lock保留在启动时,然后释放ondestroy。一段时间后40分钟 - 2小时后,当设备刚刚单独使用/屏幕被昏暗时,它会随机崩溃。

经过一些调查,我发现释放唤醒锁定的par可以阻止此问题的发生。但是,这是不希望的,即使关闭屏幕,我也希望锁定。

谁能告诉我是否必须释放尾锁Onpar?或其他任何建议都会有所帮助。

基本实现:

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();
    }
}

看起来它在设备之间更改。我怀疑可能是由于制造商/SET软件可能正在杀死线程。

我在大约5种不同的设备上测试了华为&三星。该问题在华为设备上显示,主要是Android的新版本。可能需要解决的问题。

注意:如果您的手机屏幕昏暗并且您没有握住Wakelock,则WiFi可能会死亡,这取决于设备。WiFi锁定是由于制造商差异而浪费时间。

最新更新