Android:如何知道高级任务杀手杀死的活动/服务?
Posted
技术标签:
【中文标题】Android:如何知道高级任务杀手杀死的活动/服务?【英文标题】:Android: How to know activity/service killed by advanced task killer? 【发布时间】:2010-08-29 16:02:27 【问题描述】:我只想知道如何检测到活动或服务已被高级任务杀手杀死?我期待调用 onDestroy 方法,但它没有!
我的应用在启动时启动后台服务。除了从菜单之外,该活动不会开始。但它的名字出现在高级任务杀手列表中。当我试图杀死它时,它既不会调用 onDestroy 方法,也不会调用服务。
有什么想法吗?
提前致谢。
【问题讨论】:
【参考方案1】:我只想知道如何检测到活动或服务已被高级任务杀手杀死?
当您的任务以这种方式终止时,您不会收到任何通知。
我期待调用 onDestroy 方法,但它没有!
在多种情况下,活动或服务的onDestroy()
将不会被调用。这是其中之一。
我的应用在启动时启动后台服务。
我真诚地希望服务在几秒钟内关闭。否则,please considerwhat you are doing 是否正确。
【讨论】:
其实服务并没有做太多的工作。它刚刚启动,因此当接到电话时,它开始做一些事情。可以从activity菜单中关闭,但我只是想在服务被kill后想办法清理一下。 你觉得有来电就启动服务然后再停止比较好吗? @Doaa:“它刚刚启动,所以当接到电话时,它开始做事。” -- 您可以为此使用清单注册的BroadcastReceiver
,寻找ACTION_PHONE_STATE_CHANGED
。 “你认为在接到电话时启动服务然后再停止服务会更好吗?” - 是的。你的服务在内存中越少,它就越不可能成为任务杀手的目标。以上是关于Android:如何知道高级任务杀手杀死的活动/服务?的主要内容,如果未能解决你的问题,请参考以下文章
在某些任务杀手杀死应用程序后如何恢复android应用程序?
android (Service & PhoneStateListener) - 当应用程序被任务管理器、杀手或内存不足杀死时,服务确实重新启动但不工作