`
ET焖猪仔
  • 浏览: 236208 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

转载:Handler方法小结(在线程中更新UI和了解HandlerThread类的用法)

阅读更多
小结:

    * 1、向哪个Handler 发送消息,就必须在哪个handler 里面接收;
    * 2、直接使用JAVA 的 Thread 是无法更新Android UI的,因为Android View 在设计的时线程是不完全的,不过Android 提供了几种供开发者在线程中更新UI的方法,如下:
          o Activity.runOnUiThread( Runnable )
          o View.post( Runnable )
          o View.postDelayed( Runnable, long )
          o Hanlder
    * 3、直接使用hanlder .post 等方法是在当前主线程里面做操作,而不是另外新建线程,建议使用Thread 线程直接新建另外一个线程或者使用HandlerThread类也可以。
    * 4、记住消息队列的先进先出原则。
分享到:
评论

相关推荐

    Looper、Handler与HandlerThread

    在Android开发中,Looper、Handler和HandlerThread是三个非常重要的组件,它们构成了Android消息处理机制的基础,用于在主线程中处理来自其他线程的消息。理解并熟练运用这三个组件,对于编写高效、响应迅速的...

    HandlerThread,AsyncTask,Handler的一个小例子

    本示例探讨了三种不同的方法——HandlerThread、AsyncTask以及Handler,它们都是用来在后台线程处理耗时操作并更新UI(主线程)的有效手段。下面我们将深入理解这三个概念及其在进度条更新中的应用。 首先,...

    Android线程,线程池,AsyncTask,HandlerThread和IntentService的用法

    它内部包含一个Looper,可以在子线程中创建Handler,这样就能在子线程中接收和处理来自主线程的消息。HandlerThread适合长时间运行且需要与主线程通信的后台任务。 5. **IntentService**: IntentService是一个单...

    HandlerThread

    通过Handler,我们可以从主线程或其他线程向HandlerThread发送消息,然后在Handler的`handleMessage()`方法中处理这些消息。例如: ```java Message message = new Message(); message.what = 1; message.obj =...

    Looper和Handler实现UI线程和子线程的通信

    此外,Android还提供了HandlerThread类,它是一个拥有自己Looper的线程,简化了在子线程中使用Looper和Handler的过程。 总结来说,Looper和Handler是Android系统中实现UI线程和子线程通信的重要工具。它们通过消息...

    子线程中更新UI的三种方法和获取message的两种方法总结

    在Android开发中,由于UI操作必须在主线程中执行,因此在子线程中处理耗时任务后更新用户界面(UI)成为了一项常见的需求。本文将深入探讨在子线程中更新UI的三种有效方法,并同时讲解如何在Android中获取和处理...

    Android的更新ui大合集,统共4种方法

    本篇将详细讲解标题所提及的四种Android更新UI的方法,并结合描述中的"handler"和"thread"两个关键词,深入探讨如何在后台线程处理耗时任务并及时更新UI。 1. 主线程(UI线程) Android应用的主线程主要负责处理与...

    Android HandlerThread 全面解析

    在Android系统中,线程管理是一项至关重要的任务,特别是在处理UI更新和后台任务同步时。`HandlerThread`是Android提供的一种特殊线程类,它结合了线程和消息处理机制,使得开发者能够更方便地在后台执行耗时操作,...

    android handler和线程的简单实例

    在我们的实例中,我们可能创建一个新线程来执行后台任务,然后使用`Handler`和`Message`将结果传递回主线程进行UI更新。 下面是一个简单的实例: 1. 创建一个`Handler`对象,通常在主线程中: ```java Handler ...

    了解Android核心:Looper,Handler和HandlerThread

    在Android开发中,理解核心组件如Looper、Handler和HandlerThread对于构建高效且响应式的用户界面至关重要。这些组件共同协作,确保UI线程不被阻塞,从而提供流畅的用户体验。 首先,主线程(也称为UI线程)是...

    【Android开发入门】Android线程之Handler

    本知识点将深入探讨Android中的Handler机制,它是Android异步处理和消息传递的核心工具,帮助开发者解决多线程环境下UI更新的问题。 一、Android线程基础 Android系统主要分为两个线程:主线程(UI线程)和工作线程...

    防止ANR错误HandlerThread多线程解决耗时操作MyProject.zip

    在Android中,主线程负责处理UI更新和用户交互,因此不应在主线程中执行耗时操作,否则可能导致ANR。使用HandlerThread可以将这些操作移动到后台线程,确保UI的流畅性。 1. **理解HandlerThread**:HandlerThread是...

    android-Handler的使用

    在示例代码 `HandlerActivity` 中,可以看到 `MyThread` 类可能用于执行后台任务,然后通过 Handler 回调到主线程更新 UI(例如 `TextView` 和 `ProgressBar`)。按钮点击事件启动了新的线程,并创建了一个新的 ...

    测试Thread中使用Handler修改

    本文将详细解析如何在`Thread`中使用`Handler`来修改主线程(UI线程)的数据或者更新UI。 首先,我们要了解`Thread`。`Thread`是Java中的一个类,代表程序执行的线程。在Android中,主线程(UI线程)负责处理用户...

    HandlerThread使用demo

    HandlerThread在Android开发中是一种特殊的线程类,主要用于处理与UI线程同步的异步任务。它是基于Thread的,但提供了MessageQueue和Looper的集成,使得我们能够在子线程中方便地通过Handler来发送和处理消息。理解...

    Handler机制

    Handler机制还有其他高级用法,如使用`WeakReference`防止内存泄漏,以及使用`HandlerThread`来简化工作线程的创建和管理。此外,`AsyncTask`和`Runnable`也是Android中进行线程间通信的方式,它们与Handler机制互为...

    Java/Android关于线程使用的总结

    `Handler`、`Looper`和`MessageQueue`共同构成了Android的消息处理机制,使得开发者能够轻松地在多线程环境中控制UI更新和其他任务的执行顺序。 总之,掌握线程的创建、线程池的使用以及`ThreadHandler`机制,对于...

    Thread、Handler和HandlerThread关系详解

    前言 前几天看到一道面试题:Thread、Handler和HandlerThread有什么区别?,这个题目有点意思,对于很多人来说,可能对...我们知道Handler是用来异步更新UI的,更详细的说是用来做线程间的通信的,更新UI时是子线程与

Global site tag (gtag.js) - Google Analytics