java - WakeLock 会导致手机重启吗?

标签 java android

我有一个应用程序需要连续使用 WiFi 和加速度传感器来收集数据,因此我需要使用 WakeLock 方法来保持这些传感器处于 Activity 状态。但现在我遇到了手机运行几个小时后有时会随机重启的问题。我不知道这是我的应用程序还是手机固件造成的。有人对此有一些想法吗?实际上,我认为我的应用程序中唯一特别的一件事是我需要一直使用WakeLock,那么wakelock会导致手机随机重启吗?

最佳答案

WakeLock 通常不会导致重新启动问题。您的编码中可能还存在一些其他问题。 如果使用后不释放,WakeLock 会严重占用电池。

WakeLock 是一种保持屏幕开启的低效方法。相反,使用 WindowManager 来发挥魔法。下面一行就足以满足 WakeLock 的要求。为此,还需要 WakeLock 权限。而且这段代码比wakeLock 更高效。

getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);

您无需手动释放 WakeLock。此代码将允许 Android 系统自动处理锁定。当您的应用程序位于前台时,WakeLock 将被保留,否则 Android 系统会自动释放锁定。

关于java - WakeLock 会导致手机重启吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5547541/

相关文章:

Android - 即使为应用程序禁用它也显示通知?

android - 发送短信时 ACTION_SENDTO 和 ACTION_VIEW 有什么区别?

java - 在 Jboss EAP 7.2.0.GA 中处理 JSON 序列化

JavaFX - 使 TableView 高度适应行数

java - 错误: reached end of file while parsing

android - 是否可以使用支持库在较低版本中使用 Kitkat 的 WebView

android - 创建使用 AAR 文件作为依赖项的 Android 库

java - 新手Android错误: java. lang.NoClassDefFoundError : android. content.ClipboardManager

java - 从Service中的数据库获取数据

java - 如何将嵌套 JSON 数组转换为 java 对象?