Android学习之Handle

原创 2015年07月13日 10:25:13

      handle:只要是接收子线程发送的数据,并根据此数据配合主线程更新UI。

      可能遇到的问题之一:为什么会出现强制关闭对话框现象?其原因在于:在开启应用程序时,Android会开启一个主线程,主线程是管理界面的UI工具,会进行事件的分发。当进行一个耗时的操作比如连网读取数据或读取本地一个大文件时,界面会出现假死现象,如果在5s内没有反应,就会弹出系统的“强制关闭”错误提示。

     问题之二:怎么解决此现象?其办法就是将耗时的操作放在一个子线程中处理,而子线程中涉及UI更新时主线程将不安全即UI的更新只能在主线程中进行。此时就要用到Handle来解决这个问题,将Handle放在主线程中运行,通过Message与子线程进行数据的传递;即将子线程中传递来的Message对象放到主线程中,配合UI界面的更新。

 

    特点:Handle可以分发Message对象或Runnable对象到对应的主线程中,每个Handler实例都是绑定到其创建的线程当中。

    其主要作用有:

       1.安排消息或Runnable在某个主线程中的其他地方执行;

       2.安排一个动作在不同的线程当中去执行。

 

     Handler中分发消息的方法:


        post(Runnable)
        postAtTime(Runnable,long)
        postDelayed(Runnable long)
        sendEmptyMessage(int)
        sendMessage(Message)
        sendMessageAtTime(Message,long)
        sendMessageDelayed(Message,long)


        post类方法允许你排列一个Runnable对象到主线程队列中;


        sendMessage类方法, 允许你安排一个带数据的Message对象到队列中,等待更新。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

步步为营_Android开发课[9]_Handle学习

Focus on technology, enjoy life!—— QQ:804212028 浏览链接:http://blog.csdn.net/y18334702058/article/det...

Android学习笔记1-2--通信3--Handle

初步简介异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次从其内部的消息队列中取出一个消息,然后回调相应消息处理函数,执行完成一个消息后则继续循环。若消息队列为空线程则会阻塞等待。Andro...

Android Handle

  • 2015年04月22日 14:03
  • 1.87MB
  • 下载

Android Handle Thread.docx

  • 2012年02月27日 15:11
  • 127KB
  • 下载

【Android个人理解(一)】通过Looper与Handle的关系,理解Looper工作机制

Looper与Handle是Android独有的新概念,但我们学习中常常将他们分开学习,实际上两者密不可分。 Looper与Handle的关系: Looper是负责在线程里建立消息循环的类,包括准...

安卓学习之handle的使用方法

  • 2014年05月11日 17:18
  • 24KB
  • 下载

Android Event bus 消息/事件通信框架介绍和应用,以及与handle message和broadcastreceiver之间的比较

Event bus是一款针对Android优化的事件发布/订阅框架,快速且轻量,是 github 的明星项目之一。 其优点是发送者和接收者解耦,且代码简洁,使用简单,是当前流行的消息传递框架。 代...

分析Android中Handle机制

上次浅分析了android中的绘画机制,今天我们来谈谈,android中的Handle机制。在一开始学习Android的时候,总会遇见一个问题,更新UI只能在主线程中进行,而有时候做耗时操作(耗时操作...

Android Handle的使用(转)

原链接:http://byandby.iteye.com/blog/825071 首先原谅我把文章的标题写的这么长。其实我还嫌弃它短了因为 写不下去了所以我就不写了。因为我实在不知道该怎么定...
  • jdh99
  • jdh99
  • 2012年02月20日 22:06
  • 14145

Android 之Handle的使用原理理解

Handle的使用,首先我们要明白一点,那就是Handle的用处,Handle是用来做什么的,明白了这点,那么我在来理解下面的内容。 一:接下来我来说明一下Handle的用途 Handle到底是什么,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android学习之Handle
举报原因:
原因补充:

(最多只允许输入30个字)