2010-08-18 75 views
2

我有一个服务,在我的android设备上启动时启动,服务启动使用startService命令,因此它与UI分开运行,我想通知当服务从操作系统或任务管理器中被杀死,因此我可以安全地保存数据,我已经覆盖了onDestroy方法,但是当服务被任务管理器终止时,onDestroy方法上的代码不会被执行!android如何处理服务被操作系统或taskmanager杀死

当有人试图杀死我的服务时,我可以收到通知吗?

+0

没有人有任何想法? – maxsap 2010-08-25 14:00:48

+0

@Benjamin - 请认识到,对古代和所有外观的长期遗弃问题的琐碎编辑没有什么作用,除了给他们一个毫无根据的问题列表顶部的问题。 – 2014-05-04 18:48:06

回答

1

我认为当你的应用程序被任务管理器或系统使用kill -9杀死时,dalvik进程完全被销毁,没有任何方法调用它,就像你在unix进程中调用kill -9一样,他将立即死亡,没有机会恢复。

当用户使用任务管理器时,他应该知道这一点。 关于系统查杀,我敢肯定,除非系统迫切需要释放资源,否则应该优雅地结束你的进程,然后你的onDestroy应该被调用。

您是否真的看到系统销毁的应用程序(比如打开手机上几乎所有的应用程序),而无需调用onDestroy或仅调用任务管理器?

+0

感谢你的回应,我只测试任务管理器,因为正如你所提到的,当操作系统杀死服务器时它首先调用ondestroy,问题也在于你提到任务被终止并且没有方法被调用。 – maxsap 2010-10-07 12:40:20

相关问题