Android检索服务崩溃时间

问题描述:

我正在处理三种不同的服务和设备启动时,一项服务启动其他两项服​​务。现在它的工作正常,但有时我的服务崩溃,并重新启动。我知道这种行为在服务中很常见,如果内存很低,那么回收内存服务会自行重启。Android检索服务崩溃时间

我需要跟踪服务信息,例如获取服务崩溃时间。现在,我通过在onstartCommand()中编写代码并在onDestroy()中停止时间来检索服务启动时间。

我观察到的是停止时间onDestroy()代码在服务崩溃时不执行。那么是否有办法获得服务崩溃时间?

的一点想法:

  • 如果它的崩溃,它会留在日志文件中的痕迹,也有在这里读它的一些评论:Android read error log from handset

  • 如果它被封闭系统以正常的方式,它应该通过onDestroy。

  • 如果它要通过已在别处报道的略显神秘的“关闭,重启”的效果,那么它似乎并没有打日志,但似乎这两个事件在时间上非常接近,并且这种效果似乎通过使服务在单独处理中运行来停止。 (Android service onCreate is called multiple times without calling onDestroy和可能的Service being re-Created by AlarmManager)。

  • 从状态管理的角度来看,如果你存储了服务最后的时间做了一些注意事项(即保留一个存储的时间,当它做一些注意事项并更新它,每次它做一些注意事项),那么你将有一个很好的估计。

+0

我实际上可以阅读下一个onStartCommand(),但这不会解决我的问题。 服务崩溃时间和stopService()时间应该有所不同。 我想知道什么时候服务崩溃。 – user2291470

+0

我试过更新答案,以澄清我意识到的三种情况,或者这是不同的? –