2011-05-25 77 views
0

我的情况:
我已经创建了一个Android服务,它在应用程序启动时启动。该服务由一个简单的Thread组成,该Thread等待5秒钟,写入日志消息并再次等待。任务管理器响应杀死请求

关闭应用程序后(使用后退按钮),Android选择重新启动我的服务,因为我在OnStartCommand中返回START_STICKY。 在调试应用程序时,我实际上可以使用DDMS来终止进程。 Android再次选择重新启动服务。这是根据手册预计的。

我还安装了一个任务管理器,并用它来“杀死”实例。时髦的事情是,现在我的服务不再重新启动。

这个时髦的事情是这样的:在任何一种情况下,都不会调用我的类的销毁代码。我的等待线程上没有引发InterruptedException。我的应用程序似乎没有办法知道它正在被销毁。

我的问题:
我该如何解决这个问题,并回应杀人请求?我已经注意到DVM缺乏sun.misc.Signal和sun.misc.SignalHandler的正确信号处理(如果这甚至被任务杀手所使用)。

我需要知道我的应用程序正在销毁,所以我可以正确关闭文件句柄,数据库连接等。

非常感谢您的任何帮助。

回答

0

我该如何解决这个问题并响应杀死请求?

你不知道。 OTOH,这个任务杀手的行为应该在Android 2.2中被淘汰,所以最终不会成为问题。

+0

经过大量测试后,我发现事实确实如此。你没有。期。 – djBo 2011-06-21 13:11:17

相关问题