关闭

Android-多线程和异步概述及面试题

标签: 多线程android异步
2612人阅读 评论(0) 收藏 举报
分类:

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线程中操作

0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:127768次
    • 积分:2998
    • 等级:
    • 排名:第12114名
    • 原创:209篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    博客专栏
    最新评论