Android-多线程和异步概述
一 Java中的多线程
Runable
Thread
ThreadPoolExector
ScheduleExector
线程同步
Synchronized同步
Lock锁
Semaphore信号量
二 Android中使用多线程
1,为何使用多线程
IO操作:文件,网络,数据库
复杂运算
定时操作
对于耗时操作,应该放到非主线程中运行,从而避免阻塞主线程
为了保证良好的用户体验,
建议对超过50ms(1000ms / 50ms = 20FPS为人眼看到的流畅的画面的最小帧数)
的操作都使用线程处理
2,如何使用多线程或异步,用到的类
Thread
Handle
AsyncTask
AsyncTaskLoader(Android 3.0后使用)
(CursorLoader)
3,多线程和界面交互的方式,用到的类
Activity.runOnUiThread(Runable)
VIew.post(Runable)
View.postDelay(Runable, long)
Handle
AsyncTask
4,Android UI主线程简单原则
不要Block UI Thread
不要在UI线程外直接操作UI
注意事项:
异步等于多线程
Android里面不允许在多线程中直接改变UI
面试题:
1,Android多线程如何实现?
线程和线程池来实现
2,Android的异步任务有什么办法来实现?
AsyncTask
AsyncTaskLoader
3,Android如何确保UI的线程安全?
任何操作UI的代码放在UI线程中操作
版权声明:欢迎交流,QQ872785786
原文地址:http://blog.csdn.net/qq_22075977/article/details/46791357