Android安卓开发中终止线程方法
2016-02-18 13:06
435 查看
有时当一个组件或者activity被destory()的时候要求其启动的线程也一起终止掉,现在就来总结了一下有这有几种方法:
1、初始化的时候,定义启动的线程为一个守护线程,这样当主线程消亡掉的时候,其他线程也会被终止。(主线程是整个程序,所以如果是要求页面结束时,其中的线程也终止,那么这个方法没什么用!)
// 使用下面的方法,当初始化一个线程时
myThread.setDaemon(true);
myThread.start
2、可在activity中的onstop()方法中调用以下代码。
if (myThread != null) {
Thread dummy = myThread;
myThread = null;
dummy.interrupt();
}
3、可在线程run()方法中设置标志位。
if (!paused) {
// do something,这是线程run方法中
}
boolean paused = false;
// 可在onPause()中通过设置标志位使线程不活动,
protected void onPause() {
paused = true;
super.onPause();
}
// 可在onPause()中通过设置标志位激活线程,
@Override
protected void onResume() {
super.onResume();
paused = false;
}
1、初始化的时候,定义启动的线程为一个守护线程,这样当主线程消亡掉的时候,其他线程也会被终止。(主线程是整个程序,所以如果是要求页面结束时,其中的线程也终止,那么这个方法没什么用!)
// 使用下面的方法,当初始化一个线程时
myThread.setDaemon(true);
myThread.start
2、可在activity中的onstop()方法中调用以下代码。
if (myThread != null) {
Thread dummy = myThread;
myThread = null;
dummy.interrupt();
}
3、可在线程run()方法中设置标志位。
if (!paused) {
// do something,这是线程run方法中
}
boolean paused = false;
// 可在onPause()中通过设置标志位使线程不活动,
protected void onPause() {
paused = true;
super.onPause();
}
// 可在onPause()中通过设置标志位激活线程,
@Override
protected void onResume() {
super.onResume();
paused = false;
}
相关文章推荐
- Android学习必备--java工具15个
- Android 源码编译经验分享, 以及如何使用Android studio 阅读整个源码
- Android 抖动效果
- Android Canvas绘图详解(图文)
- #android#android studio 使用cardview
- Android获取view在屏幕中的位置
- 安卓 ImageView ACTION_UP&DOWN监听
- Android编程之LayoutInflater的inflate方法详解
- android学习参考资料
- android指定数据库的路径
- Android DNK开发错误记录
- android-Drawable
- Android:读取文件
- android 反编译apk
- AndroidStudioTutorial_160218S004_创建Fragment
- Android Studio配置Annotations
- android任意view移动缩放至消失到任何位置的通用动画
- Android 启动页白屏一下或者黑屏一下解决办法
- 【Xamarin挖墙脚系列:Android最重要的命令工具ADB】
- Android 手写板SDK