任务杀手杀死应用程序与Android操作系统杀死应用程序之间的区别

时间:2010-09-29 22:31:39

标签: android task

使用任务杀手级应用程序杀死应用程序时发生的情况与Android操作系统因资源稀缺而导致应用程序崩溃时的情况有何不同?

Android SDK表示,由于资源稀缺,操作系统杀死应用时不会调用Application.onTerminate()方法。因此,听起来操作系统并没有干净地关闭应用程序,而且它确实完成了备受争议的任务杀手所做的事情。

如果他们做同样的事情,那么任务杀手不会比操作系统本身造成更大的伤害,对吗?

3 个答案:

答案 0 :(得分:6)

截至Froyo,没有区别。 :)所有任务杀手可以做的就是杀死-9一个进程,当它在后台时,这就是操作系统在需要内存时所做的事情。是的,这不是一个干净有序的退出,它现在是一个杀死过程 - 死亡 - 正确。事实上,在常规Android环境中,Application.onTerminate()永远不会被杀死;进程只会因杀戮而消失。

在Froyo之前,任务杀手可以访问不同的API - “强制停止” - 这使得他们可以更加残酷地停止所有应用程序。这包括停止任何已启动的服务,删除已注册的任何警报,删除通知等。

答案 1 :(得分:3)

  

使用任务杀手级应用程序杀死应用程序时发生的情况与Android操作系统因资源稀缺而导致应用程序崩溃时的情况有何不同?

任务杀手从轨道上攻击应用程序。它会终止该过程,删除所有警报,删除所有已注册的PendingIntents(例如,用于位置更新)等。

在Android需要终止进程以释放RAM的不常见场合,它只会终止进程。

  

如果他们做同样的事情,那么任务杀手不会比操作系统本身造成更大的伤害,对吗?

不,任务杀手会对应用程序造成更大的伤害。

答案 2 :(得分:0)

AFAIK的经验,当Android杀死一个应用程序时,你不能指望它被彻底杀死(没有调用破坏方法)。 至于任务杀手......好吧,我想这取决于具体的任务杀手是如何实现的。

Android在管理资源方面做得很好,但是当你明确想要杀死某些东西时,任务杀手可以派上用场。回答你的问题,我不认为任务杀手比Android杀死一个应用程序更有害。