2011-05-21 73 views
2

我有一个android ServiceMyService线程售后服务被破坏

我有一个Activity有两个按钮(启动服务/停止服务)。

当用户点击按钮“启动服务”,MyService使用

startService(new Intent(this, MyService.class)); 

当用户点击按钮“一站式服务”开始,MyService使用

stopService(new Intent(this, MyService.class)); 

停在MyService创建执行一些长时间运行的任务的ThreadT

我的问题是:如果Service被销毁,即使它仍在运行,T也被销毁?

+0

当您编写示例应用程序来执行此操作时,您会看到什么情况? – 2011-05-21 04:01:04

+0

在服务被销毁后,我的应用程序中线程仍在运行 – Enrique 2011-05-21 04:47:05

回答

2

不,结束您明确创建的线程不是Android框架的责任。您需要延长onDestroy()。以下是此方法的javadoc:

由系统调用以通知服务它已不再使用并正在被删除。这个服务应该清理它所拥有的资源(线程,注册接收者等)。返回后,将不会有更多的调用这个服务对象,它实际上已经死了。不要直接调用这个方法。

我还建议你让你的线程使用Interrupts,以便你可以优雅地结束它。