深入浅出Android消息系统之一

1.VC6.0 MFC消息机制

通过PreTranslateMessage处理消息;

2.Activity内嵌的消息处理机制有:
a.onKeyDown

b.各式各样的lister,onKeyDownListener

3.有哪些工作必须通过消息分发处理机制来完成呢

a.事件的定时触发;

b.异步的循环事件的处理;

c.高耗时的工作;

4.Handler处理哪个线程下的消息:

默认情况下,Handler接受的是当前线程下的消息循环实例

5.一个消息循环可以被多个对象分发与处理

一个消息循环可以被当前线程中的多个对象来分发,来处理(在UI线程中,系统已经有一个Activity来处理了,你可以再起若干个Handler来处理...)。

6. AndroidCPU分配的最小单元:

线程

7.HandlerThread的关系

Handler一般是在某个线程里创建的,因而HandlerThread就是相互绑定的,一一对应的;

8.RunnableThread之间的关系:

Runnable是一个接口,ThreadRunnable的子类。所以说,他俩都算一个线程;

9.Thread(HandlerThread)的作用是什么?

HandlerThread顾名思义就是可以处理消息循环的线程,他是一个拥有Looper的线程,可以处理消息循环。

10.Handler是在UI线程之内运行的,并没有新建线程:

UI线程(主线程)中,有如下代码:

mHandler=new Handler();

mHandler.post(new Runnable(){

void run(){

//执行代码...

}

});

这个线程其实是在UI线程之内运行的,并没有新建线程。

11.常见的新建线程的方法是

方法一:

Thread thread = new Thread();

thread.start();

方法二:

HandlerThread thread = new HandlerThread("string");

thread.start();

12.主线程就是UI线程;

13.UI线程何时创建:

当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程)

14.主线程的作用:

主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个Button,Android会分发事件到Button上,来响应你的操作。

15.如果把耗时的工作,放在主线程中处理,有什么后果?

如果放在主线程中的话,界面会出现假死现象, 如果5秒钟还没有完成的话,会收到Android系统的一个错误提示 "强制关闭".

16.有哪些是耗时的工作:

a.联网读取数据;

b.读取本地的一个大文件;

c.硬件初始化;

17.如果遇到耗时的工作,如何处理?

需要把这些耗时的操作放在一个子线程中

18.更新UI只能在主线程中更新;

Notes:主线程就是UI线程;

19. Handler的作用:

Handler的作用:

1.接受子线程传过来的Message对象(里面包含数据)

Notes:子线程用sedMessage()方法传递;

2.把这些消息放入主线程队列中,

3.配合主线程进行更新UI。;

20.HandlerThread如何传递数据:

Handler与子线程可以通过Message对象来传递数据。

更多相关文章

  1. 【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)
  2. Android系统分析之带着问题看Handler
  3. Handler实现多线程
  4. Android(安卓):动画的使用(1)
  5. Android(安卓)开关机动画显示源码分析
  6. Android(安卓)消息通知栏用法详解(一)
  7. SignalR+HTML5实现消息推送及Android通知栏消息
  8. Android(安卓)Framework系列之IPC(一)
  9. 程序员挑战高薪,你必须会的十大面试题《一》

随机推荐

  1. 【Android】自带Theme
  2. Android通过源码编译apk获得系统权限
  3. Android几种动画的总结(MaterialAnimatio
  4. Android(安卓)layout布局属性、标签属性
  5. No resource found that matches the giv
  6. Android使用MediaCodec将YUV硬编成H264
  7. ok6410 android driver(11)
  8. 解决 Android(安卓)模拟器 无法上网问题
  9. RelativeLayout布局及属性
  10. Android(安卓)API中文文档GridView