Android多线程的一个简单示例

最近做的一个程序,由于在启动的时候需要在后台初始化比较多的内容,为了让用户不等待很久的时间,准备展示一个启动画面,在后台的线程里完成初始化以后通知前台的主线程销毁掉启动画面进行后续的工作~

首先,我们需要new一个Thread,并实现它的run方法,在里面添加一些我们需要后台进行的比较长时间的操作,同时需要创建一个message,并定义好它的属性,在完成后台操作后将消息发送给其他线程,让他们执行相关的操作。

public class MainView extends Activity
{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.load); //display loading picture

new Thread() {
public void run() {
Message m = new Message();
m.what = MainView.GUI_STOP_NOTIFIER;
//some initialization
//......
//......
MainView.this.myMessageHandler.sendMessage(m);

}
}.start();

}
}


当后台线程完成工作,并成功发出消息后,我们需要在这个activity里定义了消息处理器,用来处理这个消息,处理的switch语句判断的条件就是传进来消息的msg.what

Handler myMessageHandler = new Handler() {
// @Override
public void handleMessage(Message msg) {
switch (msg.what) {
/* 当取得识别为 离开运行线程时所取得的信息 */
case MainView.GUI_STOP_NOTIFIER:
loadmain();
Thread.currentThread().interrupt();
break;

case MainView.GUI_THREADING_NOTIFIER:
if (!Thread.currentThread().isInterrupted()) {

}
break;
}
super.handleMessage(msg);
}
}


这样程序在loadmain里面绘制主界面即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值