关闭

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

标签: 多线程android异步
3323人阅读 评论(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
查看评论

面试系列----谈谈你对android多线程的理解

多线程
  • qq_34358104
  • qq_34358104
  • 2017-04-19 09:52
  • 1714

Android中最常问到的面试题

Android中最常问到的面试题 小武: 方法重载与覆盖的区别?( Overload与Override的区别) 答: 方法的重载属于编译时多态,方法名相同参数列表不同,返回值必须相同或都没有返回值类型。方法的覆盖属于运行时多态,子类覆盖父类的方法,子类指向父类引用,在调用...
  • shenggaofei
  • shenggaofei
  • 2016-07-26 14:44
  • 1834

Android面试题集锦(三)

2016.7.26更新........................................................................... (56):ListView异步加载图片出现乱序的原因       ...
  • hzw19920329
  • hzw19920329
  • 2016-07-26 22:49
  • 1705

Android面试题——多线程,同步的实现,wait和sleep的不同

多线程是操作系统的重要部分,可以提高应用程序的效率,将耗时操作放在工作线程可以有效提高用户体验。 多线程有两种实现方式:分别是继承Thread类和实现Runnable接口。 同步的实现方式有两种:synchronized,wait与notify。 Public static synchroni...
  • qq_32795669
  • qq_32795669
  • 2016-04-24 22:54
  • 698

多线程经典面试题

1、基本概念         详见:线程和进程关系和区别、同步和互斥、进程间通信 2、以下多线程对int型变量x的操作,哪几个不需要进行同步(D)       &#...
  • dazhong159
  • dazhong159
  • 2012-09-05 23:17
  • 52991

Android2017最新面试题(3-5年经验个人面试经历)

2017最新Android面试题,面试技巧
  • huangqili1314
  • huangqili1314
  • 2017-05-28 13:07
  • 29409

Android面试之多线程

面试的时候这样答:android的多线程分两种: Thread:需要借助Handler实现UI更新, AsyncTask:不需要借助Handler即可实现UI更新 如果面试官不满意可以答: 线程是CPU调动资源的最小单元,它没有自己独立的内存资源,多个线程之间可以共享进程的内存资源。Andr...
  • u014300969
  • u014300969
  • 2014-04-02 09:33
  • 350

Android 面试题 - 线程间通信

Android是基于Java的,所以也分主线程,子线程!  主线程:实现业务逻辑、UI绘制更新、各子线程串连,类似于将军;  子线程:完成耗时(联网取数据、SD卡数据加载、后台长时间运行)操作,类似于小兵;  一、子线程向主线程发消息(Thread+handl...
  • jiankeufo
  • jiankeufo
  • 2017-01-03 16:03
  • 803

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

Android-多线程和异步概述 一 Java中的多线程 Runable Thread ThreadPoolExector ScheduleExector线程同步 Synchronized同步 Lock锁 Semaphore信号量二 Android中使用多线程 1,为何使用多线程 ...
  • qq_22075977
  • qq_22075977
  • 2015-07-07 16:42
  • 3323

Android 面试精华题目总结

下面的题目都是楼主在android交流群大家面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖。 1、请解释下在单线程模型中Message,Handler,Message Queue,Lopper之间的关系。 2、如果有个100M大的文件,需要上传至服务器中,而服务器f...
  • lmj623565791
  • lmj623565791
  • 2014-04-18 14:39
  • 179943
    个人资料
    • 访问:159867次
    • 积分:3336
    • 等级:
    • 排名:第11988名
    • 原创:209篇
    • 转载:0篇
    • 译文:0篇
    • 评论:5条
    博客专栏
    最新评论