Android 多线程的实现方法总结
Android多线程的实例详解
Java多线程方式
1.继承Thread线程,实现run方法
2.实现Runnable接口
JAVA单继承性,当我们想将一个已经继承了其他类的子类放到Thread中时,单继承的局限就体现出来了
但是可以实现多个接口,所以第二种方法相对于第一种来说灵活许多
其次,通过
newThread(Runnablerunnable).start()
启动线程的方式,若变量在runnable中定义,多个线程可以共用,因为来自同一个对象
比较适合多个相同程序代码的线程去处理同一资源的情况
Android多线程方式
主要集中在UI线程和其他线程的交互问题上
1.Thread,Handler,Message
2.AsyncTask
3.Runnable
第一种方式,newThread()然后通过HandlersendMessage,由Handler的handleMessage方法实现对应的处理,完成与UI进程的交互
privateHandlermHandler=newHandler(){ publicvoidhandleMessage(Messagemsg){ /*dosththroughmsg*/ } } publicBadThreadextendsThread{ privatefinalstaticStringTAG=this.getClass().getName(); publicvoidrun(){ /*coding*/ } }; newBadThread().start();
第二种方式,异步线程的方式,doInBackground()中执行任务,onPreExecute()准备工作,onPostExecute()任务结束后调用,onProgressUpdate与publishProgress配合使用,实现和UI线程的交互
AsyncTaskmLoadingTask=newAsyncTask(){ protectedObjectdoInBackground(Object[]objects){ } protectedvoidonProgressUpdate(Object[]values){ } ...... } mLoadingTask.execute();
第三种方式,Runnable对象,通过Handler直接Post等方法启动线程,实现与UI线程的交互
privateRunnablemRunnable=newRunnable(){ publicvoidrun(){ /*dosth*/ } } mHandler.post(mRunnable);
以上就是Android多线程实现的三种方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!