简短版:Android 是否会重启手机(字面意思是重启)以摆脱前台服务?如果是,在什么情况下?
长版:我写了一个 GPS 服务,它把自己注册为前台服务(在这种情况下,这是一个好主意 - 当我运行它时,它是我手机上最重要的事情;))。在测试时,该服务消耗大量资源——它每秒获取 GPS 数据并写入 SD 卡上的 SQLite DB 文件。稍后我将使用内部存储器并延长轮询时间,但我现在需要测试数据。
该服务按预期工作。我创建了一个启动和停止它的活动,结果看起来很好。但是当我让它继续运行时,手机会在一段时间(半小时左右)后自行重启。由于我在正常使用中从未注意到这一点,因此我将其归因于我的服务。但是,我不知道是什么原因造成的——我应该为 CPU 请求唤醒锁吗?(如果这是问题所在,电话不会直接关机吗?)我是不是内存不足了?我用了太多电池吗?(它是半满的)是否有一个日志可以检查手机重启的原因?
环境:Xperia X10,Android 2.3.3。