Android WakeLock使用的一个注意点
先看看下面这个函数写的有没有问题?public void wakelockTest(Context context) {PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "awakelock");wl.acquire();
}
其实是有问题的,定义的变量wl是一个局部变量,在java里,函数调用完了,由于这个局部变量没有被引用了,就会被GC回收,这样休眠锁就被释放了,就起不到锁的效果了。
正确的做法是,将PowerManager.WakeLock wl;定义在函数外面。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
