【问题标题】:phone restarts automatically while using the app使用应用程序时手机会自动重启
【发布时间】:2017-11-03 17:55:29
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 什么版本的安卓?崩溃前是否有一天中的共同时间或一系列行动?设备所在的任何地方都会发生这种情况吗(别笑,因为 Android 8.0,如果我在浴室中使用 Pixel XL,我的 Pixel XL 会重置。我怀疑那里的蜂窝无线电信号有些奇怪)。
  • 版本 5 和 5.1。我找不到更常见的崩溃情况

标签: java android logcat android-reboot


【解决方案1】:

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

【讨论】:

  • 有吗?这似乎不太可能。创建附加文件描述符的尝试会失败,但不会重新启动应用程序。即使确实如此,他说设备正在重新启动。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 2021-12-08
    相关资源
    最近更新 更多