gpt4 book ai didi

android - 前台服务导致手机重启 - 为什么?

转载 作者:行者123 更新时间:2023-11-29 15:27:16 25 4
gpt4 key购买 nike

精简版:Android 是否会重启手​​机(字面上的重启)以摆脱前台服务?如果是这样,在什么情况下?

长版:我写了一个 GPS 服务,它把自己注册为前台服务(在这种情况下这是个好主意 - 当我运行它时,它是我手机上最重要的东西;)).在测试时,此服务是一个大资源消耗者 - 它每秒获取 GPS 数据并写入 SD 卡上的 SQLite DB 文件。稍后我将使用内存并延长轮询时间,但我现在需要测试数据。

该服务按预期工作。我创建了一个启动和停止它的 Activity ,结果看起来不错。但是当我让它继续运行时,手机会在一段时间后(半小时左右)自行重启。由于我在正常使用中从未注意到这一点,因此我将其归因于我的服务。但是,我不知道是什么原因造成的——我应该为 CPU 请求唤醒锁吗? (如果这是问题所在,手机不会直接关机吗?)我的内存用完了吗?我是不是用了太多电池? (它是半满的)是否有日志可以让我检查手机重启的原因?

环境:Xperia X10,Android 2.3.3。

最佳答案

正如其他人所说,Android 不会重启手机以摆脱前台服务。我遇到的最常见原因是:

  • 由于驱动程序错误或内存损坏等导致内核崩溃。
  • Watchdog 因死锁而杀死主线程,这导致 Zygote 重新启动,从用户的角度来看这几乎就像是重新启动。

没有详细信息或日志,只能猜测。然而,看起来您的 Service 消耗了大量资源,这可能会导致调用 SystemServer 线程上的 Watchdog 并导致重启.

关于android - 前台服务导致手机重启 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10783128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com