响应任务管理器的终止请求
Posted
技术标签:
【中文标题】响应任务管理器的终止请求【英文标题】:Respond to kill requests by task managers 【发布时间】:2011-05-25 15:32:52 【问题描述】:我的情况: 我创建了一个 android 服务,该服务在应用程序启动时启动。该服务由一个简单的线程组成,该线程等待 5 秒,写入一条日志消息并再次等待。
关闭应用程序后(使用后退按钮),Android 选择重新启动我的服务,因为我在 OnStartCommand 中返回 START_STICKY。 在调试应用程序时,我实际上可以使用 DDMS 来杀死进程。 Android 再次选择重启服务。根据手册,这是预期的。
我还安装了一个任务管理器,并用它来“杀死”实例。有趣的是,现在我的服务不再重新启动。
有趣的是:在任何一种情况下,都不会调用我的类的销毁代码。在我的等待线程上没有引发 InterruptedException。我的应用程序似乎无法知道它正在被销毁。
我的问题: 我怎样才能解决这个问题,并响应终止请求?我已经注意到 DVM 缺少 sun.misc.Signal 和 sun.misc.SignalHandler 来进行正确的信号处理(如果这甚至被任务杀手使用的话)。
我有点需要知道我的应用程序是否正在被破坏,这样我才能正确关闭文件句柄、数据库连接等。
非常感谢您的帮助。
【问题讨论】:
【参考方案1】:我怎样才能解决这个问题,并响应终止请求?
你没有。 OTOH,这种任务杀手行为应该在 Android 2.2 中已经消除,所以最终不会有问题。
【讨论】:
经过大量测试,我发现确实如此。你没有。期间。以上是关于响应任务管理器的终止请求的主要内容,如果未能解决你的问题,请参考以下文章