-1

我正在开发应用程序,它应该在设备上一直处于活动状态(客户特定的应用程序)。该应用程序并不大,它不使用大量资源,但它可以与调度(处理程序、计时器、AlarmService)一起使用。

碰巧的是,客户报告说设备会不时自行重启(一天一次或更罕见)。我不知道原因。不幸的是,我没有任何与关闭设备相关的日志。

在“onCreate”方法中,我启动 logcat 进程并将所有日志写入文件,但没有任何用处。是的,我知道,没有他们很难找到理由。我正在尝试尽可能多地获取信息。

还有 2 个服务,每 ±1 小时运行一次,一个从 git (JGit lib) 中提取数据,另一个向服务器发送一些消息。我们还为开发人员提供日志记录(写入文件),并且我们只使用一个 FileWriter 实例(因此我们不会关闭它)。你能建议一下,什么可能是重启的原因?此类应用程序中常见的错误是什么?如何找到重启的原因。

是的,我知道,我没有提供足够的信息,但是任何建议都会对我很有帮助。

4

2 回答 2

0

由于您的应用程序使用了您没有关闭的 File 和 FileWriter。请检查文件描述符[FD] 计数的数量。如果 FD 计数达到 1024,系统会自动重启 APP 以重置计数。

于 2017-11-03T18:12:28.463 回答
0

有时Android似乎只是在分配了大量内存时重新启动,这不仅与应用程序有关,而且可能与整个系统和环境有关。尝试从存储中删除所有缓存并节省可用空间,这可能会提高磁盘的 R/W 速度。

于 2017-11-03T18:16:55.377 回答