我的情况:
我已经创建了一个Android服务,它在应用程序启动时启动。该服务由一个简单的Thread组成,该Thread等待5秒钟,写入日志消息并再次等待。任务管理器响应杀死请求
关闭应用程序后(使用后退按钮),Android选择重新启动我的服务,因为我在OnStartCommand中返回START_STICKY。 在调试应用程序时,我实际上可以使用DDMS来终止进程。 Android再次选择重新启动服务。这是根据手册预计的。
我还安装了一个任务管理器,并用它来“杀死”实例。时髦的事情是,现在我的服务不再重新启动。
这个时髦的事情是这样的:在任何一种情况下,都不会调用我的类的销毁代码。我的等待线程上没有引发InterruptedException。我的应用程序似乎没有办法知道它正在被销毁。
我的问题:
我该如何解决这个问题,并回应杀人请求?我已经注意到DVM缺乏sun.misc.Signal和sun.misc.SignalHandler的正确信号处理(如果这甚至被任务杀手所使用)。
我需要知道我的应用程序正在销毁,所以我可以正确关闭文件句柄,数据库连接等。
非常感谢您的任何帮助。
经过大量测试后,我发现事实确实如此。你没有。期。 – djBo 2011-06-21 13:11:17