我有一个服务,在我的Android设备启动时启动,该服务使用startService命令启动,因此它与UI分开运行,我希望在服务器或任务管理器中杀死服务时收到通知所以我可以安全地保存我的数据,我已经覆盖了onDestroy方法但是当任务管理器杀死服务时,onDestroy方法上的代码没有被执行!
当有人试图杀死我的服务时,我可以收到通知吗?
答案 0 :(得分:1)
我认为当你的应用程序被任务管理器或系统使用kill -9杀死时,dalvik进程被完全销毁而没有调用任何方法,就像你在unix进程上调用kill -9一样,他将被杀死立即没有机会恢复。
当用户使用任务管理器时,他应该知道这一点。 关于系统杀戮,我很确定除非系统迫切需要释放资源,否则它应该优雅地结束你的过程,然后你的onDestroy应该被调用。
你是否真的看到系统破坏了应用程序(例如通过打开电话上的几乎所有应用程序)而不调用onDestroy或只调用任务管理器?