我有一个应用程序,将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锁定是由于制造商差异而浪费时间。