Android 为什么持有部分唤醒锁会导致随机系统崩溃?
我有一个应用程序在启动时保持部分唤醒锁定,然后释放onDestroy。它会在40分钟-2小时后随机崩溃,此时设备处于闲置状态/屏幕变暗 经过一些调查,我发现在Pause上释放wake lock可以阻止此问题的发生。然而,这是不希望的,我希望锁保持在屏幕关闭时,即使 有人能告诉我是否有必要在暂停时释放唤醒锁吗?或者任何其他建议都会有所帮助 基本实施:Android 为什么持有部分唤醒锁会导致随机系统崩溃?,android,wakelock,power-management,android-wake-lock,powermanager,Android,Wakelock,Power Management,Android Wake Lock,Powermanager,我有一个应用程序在启动时保持部分唤醒锁定,然后释放onDestroy。它会在40分钟-2小时后随机崩溃,此时设备处于闲置状态/屏幕变暗 经过一些调查,我发现在Pause上释放wake lock可以阻止此问题的发生。然而,这是不希望的,我希望锁保持在屏幕关闭时,即使 有人能告诉我是否有必要在暂停时释放唤醒锁吗?或者任何其他建议都会有所帮助 基本实施: public class myActivity extends Activity { PowerManager.WakeLock wake
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台不同的设备上进行了测试。这个问题主要出现在华为设备上,最新版本的安卓系统。可能是一些需要解决的问题
需要注意的事项:如果手机屏幕变暗,且您未持有wakelock,WiFi可能会死机,具体取决于设备。由于制造商的差异,WiFi锁定是一种浪费时间的行为。您找到了解决此问题的方法吗?