Android多线程的一个简单示例
最近做的一个程序,由于在启动的时候需要在后台初始化比较多的内容,为了让用户不等待很久的时间,准备展示一个启动画面,在后台的线程里完成初始化以后通知前台的主线程销毁掉启动画面进行后续的工作~
首先,我们需要new一个Thread,并实现它的run方法,在里面添加一些我们需要后台进行的比较长时间的操作,同时需要创建一个message,并定义好它的属性,在完成后台操作后将消息发送给其他线程,让他们执行相关的操作。
public class MainView extends Activity{public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.load); //display loading picturenew Thread() {public void run() {Message m = new Message();m.what = MainView.GUI_STOP_NOTIFIER;//some initialization //...... //......MainView.this.myMessageHandler.sendMessage(m);}}.start(); }}Handler myMessageHandler = new Handler() {// @Overridepublic 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);}}