android线程销毁
1. android thread 后台线程 怎么设置随着主线程的结束而结束
关于线程的结束有以下几点:
1.不要手动调用stop方法强行终止一个线程,这种方式不安全。
通过帮助文档,我们可以知道,Android的线程类本身就提供了一些公共方法去结束线程。
final void stop()
This method is deprecated. because stopping a thread in this manner is unsafe and can leave your application and the VM in an unpredictable state
但是,通过说明我们可以看到,这些方法Android本身都是不推荐使用的,通过这种方式结束线程是不安全的。
2.线程里run函数短,执行完后线程会自行销毁,不用手动去终止。
3.手动停止,通过在run里设置标志先停止运行,再调用Thread.interrupt();注意,在run没有停止时调用.interrupt()没有效果。
2. android开发 thread线程怎么销毁
thread有destroy方法。一般的,都是让这个线程走到头就自动销毁了,要自己设计让这个线程走完退出
3. Android开发, 在fragment中如何销毁一个无线循环的线程
要销毁线程,你要设置break条件去跳出循环的,不然无法销毁。除非kill整个进程。你写循环的时候就写:
boolean volatile isRunning = true;
while (isRunning) {}
要销毁的时候设置isRunning = false;
4. android:当Activity和Service 都被销毁后,如何控制其中生成的线程
线程没有被销毁的,当Activity或者Service中还有活动线程的时候,垃圾回收器是不会回收销毁Activity和Service对象的。举个例子,你可以在Activity中启动一个线程,在onDestroy中用System.out.print或者log输出一个信息,然后通过按钮调用finish方法,会发现点击以后Activity会“关闭”,但只是不可见了,但是没有调用onDestroy方法。除非你在onDestroy中关闭了线程才会关闭。
线程管理一般是通过一个布尔类型值保存其状态,通过判断它是否为空,一起来处理。这样最简单。
就是在onDestroy中处理的,你说没有调用,是因为还有子线程在运行。在onDestroy中判断线程状态,正常关闭线程以后就行了。
5. Android开发时,Activity被销毁后,之前在里面创建的线程情况
是还在运行的,java线程一旦开起来,很难销毁。JVM有很好的管理机制,系统最后会自动释放回收。作为手动回收来说,你可以调用interrupt 但是不是每次都起作用,有时候回收不了
6. android 线程执行完会主动销毁吗
不会自动销毁,除非主动关闭它们。
一、销毁的方法
1、通过线程
Hanlder是线程与Activity通信的桥梁,利用handler接收到任务线程,放到任务队列里面派对执行。
//调用该任务线程的run() 方法执行任务线程。
Handler updateBarHandler =new handler();
handler.post(Runnable Thread);
//移除handler里的任务线程,调用线程的stop()方法,销毁线程。
handler.removecallbacks(Runnable Thread);
2、通过Timer
通过以下四种方法终止一个timer线程:
a)调用timer的cancle方法。可以从程序的任何地方调用此方法,甚至在一个timer task的run方法里;
b)让timer线程成为一个daemon线程(可以在创建timer时使用new Timer(true)达到这个目地),这样当程序只有daemon线程的时候,它就会自动终止运行;
c)当timer相关的所有task执行完毕以后,删除所有此timer对象的引用(置成null),这样timer线程也会终止;
d)调用System.exit方法,使整个程序(所有线程)终止。
7. android:当Activity和Service 都被销毁后,如何控
1首先 android 一个程序中 的activity 都是一个线程,service和activity也是一个线程 2在activity 中启动一个子线程,当前activity finish destroy掉 子线也会运行的。 3在service里的线程 与activity很类似 service即使停止了 线程也在运行android:当Activity和Service 都被销毁后,如何控
8. android 线程销毁
Thread可以用destroy方法销毁,但它不保证资源被释放,所以只能用在无资源的情况下。
1.一般都建议自行控制代码逻辑让run()方法正常执行完
2.常用的方法包括可以被打断(在代码里检测interrupted())、检测状态标识退出循环等
9. android开发线程问题: 求教怎么销毁子线程用destroy老是报错的...
线程,一般是用来循环做某件事情的,你可以设置个变量每次循环之前,每次循环开始时候检查变量,不行就退出。如果是读取文件,连接网络等耗时的,那就interrupt,或者不管他,超时自动回报错的