代码之家  ›  专栏  ›  技术社区  ›  maxsap

Android如何处理操作系统或任务管理器杀死服务的情况

  •  2
  • maxsap  · 技术社区  · 14 年前

    我有一个在我的Android设备上启动时启动的服务,该服务是使用startservice命令启动的,因此它与用户界面分开运行,我希望在从操作系统或任务管理器中终止该服务时得到通知,以便我能够安全地保存我的数据,我已经覆盖了ondEsroy方法,但当任务管理器终止服务时,OnDestroy方法上的代码不会执行!

    当有人想杀了我的服务时,我能得到通知吗?

    1 回复  |  直到 10 年前
        1
  •  1
  •   codeScriber    14 年前

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

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

    你真的看到应用程序被系统破坏了吗(比如打开手机上几乎所有的应用程序),而没有打电话给OnDestroy或者只打电话给任务管理器?