[英]Why holding PARTIAL_WAKE_LOCK causing random system crash?
我有一个应用程序在启动时持有PARTIAL_WAKE_LOCK,然后释放onDestroy。 随机放置40分钟-2小时后,它会随机崩溃,仅在设备闲置2天/屏幕变暗时。
经过一些调查,我发现释放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();
}
}
看来设备之间会发生变化。 我怀疑可能是由于制造商/套装软件可能杀死线程。
我在大约5种不同的设备Huawei和Samsungs上进行了测试。 该问题主要出现在华为设备上,即较新版本的Android。 可能需要解决的问题。
注意事项:如果手机屏幕变暗并且未保持唤醒锁,则WiFi可能会死机,具体取决于设备。 由于制造商的差异,WiFi锁是浪费时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.