Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 服务被破坏后的线程_Java_Android_Multithreading - Fatal编程技术网

Java 服务被破坏后的线程

Java 服务被破坏后的线程,java,android,multithreading,Java,Android,Multithreading,我有一个安卓服务,名为MyService 我有一个带有两个按钮的活动(启动服务/停止服务) 当用户单击“启动服务”按钮时,MyService将使用 startService(new Intent(this, MyService.class)); 当用户单击“停止服务”按钮时,MyService将停止使用 stopService(new Intent(this, MyService.class)); 在MyService中,我创建了一个线程T,它执行一些长时间运行的任务 我的问题是:如果服务被

我有一个安卓
服务
,名为
MyService

我有一个带有两个按钮的
活动
(启动服务/停止服务)

当用户单击“启动服务”按钮时,
MyService
将使用

startService(new Intent(this, MyService.class));
当用户单击“停止服务”按钮时,
MyService
将停止使用

stopService(new Intent(this, MyService.class));
MyService
中,我创建了一个
线程
T
,它执行一些长时间运行的任务


我的问题是:如果
服务
被销毁,那么
T
是否也会被销毁,即使它仍在运行?

否,结束您显式创建的线程不是Android框架的责任。您需要扩展onDestroy()。以下是此方法的javadoc:

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


我还建议你使用你的线程,这样你就可以优雅地结束它。

当你编写一个示例应用程序来完成此操作时,你会看到什么情况?在我的应用程序中,在服务被破坏后,线程仍在运行