我有一个长期运行的服务(它打算在手机充电并且有wifi可用的情况下一夜之间运行)并且它可以工作好几个小时,然后我发现自己接到一个ondestroy电话,因为我开始了我的服务如粘,它立即开始备份。 大概是因为服务立即启动,无论通过杀死我的服务释放的内存/资源都解决了这个问题。
我在ondestroy()调用中添加了对Debug.dumpHprofData的调用,但在生成的heapdump中几乎没有任何内容。 我的意思是它是380k,但在具有内存兆量的机器上看起来并不是很多。 好吧,在调用ondestroy之前,可能已经完成了很多清理工作。
所以基本上我正在试图弄清楚我正在做什么导致android杀死我的服务。有没有更好的地方采取堆转储?我可能正在消耗的其他资源是否会触发我的服务结束?
机器上没有别的东西了,这是一个全新的重置,安装了这个应用程序。
有什么建议吗?