android js 子线程,Android学习笔记:Android中的线程:MainThread 和 WorkerThread
Android中只有2种类型的线程:MainThread(主线程) 和 WorkerThread。
MainThread 又叫 UI线程,Android应用程序中所有UI相关的代码都是运行在主线程中的,除了MainThread之外的其它所有线程都叫 WorkerThread。
在主线程MainThread中可以启动其它线程(WorkerThread)做一些事情。
MainThread 和 WorkerThread 的关系:
a. Android所有UI相关的代码都是运行在主线程(MainThread)中的;
b. WorkerThread 从原则上来讲是不允许操作UI的(即操作主线程中的UI对象);
c. 但是有部分特殊的UI组件可以在WorkerThread中进行操作,比如:ProgressBar。
public class MainActivity extends Activity
{
private TextView textView;
private Button button;
private ProgressBar progressBar;
@Override
public void onCreate(...)
{
textView = (TextView)findViewById(R.id.textView1);
button = (Button)findViewById(R.id.button1);
progressBar = (ProgressBar)findViewById(R.id.progressBar1);
button.setOnClickListener(new OnClickListener() {
public void onClick(...) {
Thread thread = new MyThread();
thread.start();
}
});
}
/**
* 内部WorkerThread类:MyThread
*/
class MyThread extends Thread {
@Override
public void run() {
// 这里试图在WorkerThread中操作UI,但是这是不允许的
textView.setText("看我改变了,但是这是不可能的。");
// 但是 ProgressBar 是可以的
for(int i = 1; i <= 100; i++) {
try {
Thread.sleep(100);
} catch(Exception e) {
}
// 这里的进度条可以正常工作
progressBar.setProgress(progressBar.getProgress() + 1);
}
}
}
}
android js 子线程,Android学习笔记:Android中的线程:MainThread 和 WorkerThread相关推荐
- android studio 远程调试,Unity3D学习笔记——Android远程真机调试(Unity Remote)
前言:当使用Unity开发移动端的游戏,特别是使用到手机的传感器,如重力感应等,调试的时候,很麻烦, 因为每次都需要编译成APK后安装到手机中测试,而Unity Remote便能很好的解决这个问题,U ...
- Android Jetpack Components of LiveData 学习笔记
Android Jetpack Components of Lifecycle 学习笔记 Android Jetpack Components of LiveData 学习笔记 Android Jet ...
- Android Jetpack Components of ViewModel 学习笔记
Android Jetpack Components of Lifecycle 学习笔记 Android Jetpack Components of LiveData 学习笔记 Android Jet ...
- Android开源项目SlidingMenu本学习笔记(两)
我们已经出台SlidingMenu使用:Android开源项目SlidingMenu本学习笔记(一个),接下来再深入学习下.依据滑出项的Menu切换到相应的页面 文件夹结构: 点击Bluetooth能 ...
- Windows进程与线程学习笔记(八)—— 线程切换与TSS/FS
Windows进程与线程学习笔记(八)-- 线程切换与TSS/FS 要点回顾 线程切换与TSS 内核堆栈 调用API进0环 实验:分析SwapContext 线程切换与FS 段描述符结构 分析Swap ...
- C# 学习笔记(9)线程
C# 学习笔记(9)线程 本文参考博客 C#多线程 https://www.cnblogs.com/dotnet261010/p/6159984.html C# 线程与进程 https://www.c ...
- Windows事件等待学习笔记(二)—— 线程等待与唤醒
Windows事件等待学习笔记(二)-- 线程等待与唤醒 要点回顾 等待与唤醒机制 可等待对象 可等待对象的差异 线程与等待对象 一个线程等待一个对象 实验 第一步:编译并运行以下代码 第二步:在Wi ...
- Windows进程与线程学习笔记(九)—— 线程优先级/进程挂靠/跨进程读写
Windows进程与线程学习笔记(九)-- 线程优先级/进程挂靠/跨进程读写 要点回顾 线程优先级 调度链表 分析 KiFindReadyThread 分析 KiSwapThread 总结 进程挂靠 ...
- Windows进程与线程学习笔记(六)—— 线程切换
Windows进程与线程学习笔记(六)-- 线程切换 主动切换 分析KiSwapContext 分析SwapContext 分析KiSWapThread 总结 时钟中断切换 系统时钟 分析INT 0x ...
- r语言c函数怎么用,R语言学习笔记——C#中如何使用R语言setwd()函数
在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//") > setwd("e:\桌面\") > ...
最新文章
- SQL UNION 操作符
- 文件IO-Properties
- C语言merge sort归并排序算法(附完整源码)
- mysql性能结构优化原理_MySQL性能管理及架构设计(二):数据库结构优化、高可用架构设计、数据库索引优化...
- java学习(116):arraylist集合实现类
- 求字符串全排列的递归算法
- keil C对lib封装库反汇编成C语言,Keil软件“C语言”及“汇编”混编 —— 相关知识整理.doc...
- android资源透明背景,@谷歌android帝 这是你想要的,全局透明背景教程,两种方法...
- 奇安信荣获中国电子2021年度科技进步奖一、二等奖
- IDL size函数
- 【python】将json字符串转化为json对象
- Redis Web版客户端工具——TreeNMS
- c语言程序装萝卜,c语言编程题库(大一c语言编程题库)
- 全面升级,淘宝/天猫api接口大全
- 年度双十佳广告爆笑金庸版
- NeurIPS 2021 | 医学图像GAN生成,在Noisy Data上训练出超越监督学习的模型
- 好心情平台:30分钟就可改善抑郁情绪的运动处方
- Java学完了仍不会写项目
- 固件:BIOS和UEFI
- Hub能新建但不能打开项目 Failed to connect to pipe_20220313