进程(Process)通常表现为一个正在运行的应用程序实体,在默认情况下,每个正在运行的应用程序有且只有1个进程
线程(Thread)是计算机进行调度的基本单位,表现为进程中某个单一顺序的控制流,它可以被认为是一个轻量级的进程(LightWeightProcess)
同一进程中可以有若干个线程
ANR:应用程序无响应
在子线程中更新UI的方法:
Activity类:
public void RunOnUiThread(Runnable action)
View类:
public boolean post(Runnable action)
//方法二
public boolean postDelayed(Runnable action,long dealyMillis)
Android系统使用消息机制完成线程间的通信
Message
(1)setData()方法:封装Bundle类型数据
接收方 getData()方法:获取该Bundle对象
arg1属性:int类型,用于在Bundle中封装int型变量
agr2:int类型,作用与arg2相同
what属性:int类型,用于在message中封装int型变量,表示消息的标识符
Handler
对象是消息的发送者与处理者
方法:
public final boolean sendMessage(Message msg)
//方法二
public void handleMessage(Message msg)
开启子线程:
new Thread(){
run{
};
}.start();
Message详解:
Message类中的obtain()系列方法
尽量不要在Message中封装数据
网友评论