• Android中文API(128) —— HandlerThread


    前言

      本章内容是android.os.HandlerThread,版本为Android 3.1 r1,翻译来自"雪鹰工作室",再次感谢"雪鹰工作室"!欢迎你一起参与Android的中文翻译,联系我over140@gmail.com。

    声明

      欢迎转载,但请保留文章原始出处:)

        博客园:http://www.cnblogs.com/

        Android中文翻译组:http://goo.gl/6vJQl

    HandlerThread

    译者署名:雪鹰工作室

    版本:Android 3.1 r1

     

    结构

    继承关系

    public class HandleThread extends Thread

            

    java.lang.Object

    java.lang.Thread

            android.os.HandlerThread

     

    类概述

    用于方便的创建一个含有looper的线程类。looper用来创建handler类。请注意,仍然需要调用start()方法。

     

    构造函数

      public HandlerThread (String name)

      构造一个HandlerThread

      public HandlerThread (String name, int priority)

      构造一个HandlerThread

      参数

      priority 运行线程的优先级,这个值是由Android.os.Process提供而不是来自java.lang.Thread.

     

    公共方法

    public Looper getLooper ()

    这个方法返回与此线程相关的Looper。如果该线程不能启动或是由于某种原因isAlive()方法返回false,则这个方法返回null,假如这个线程已经启动,那么此方法将阻塞,直到looper被初始化。

      返回值

      Looper

    public int getThreadId ()

    返回线程的标志。详见:Process.myTid()

    public boolean quit ()

    查看当前运行的looper是否已经退出。假如线程这未启动或者已经结束(即getLooper()方法返回null),这个方法将返回false。否则looper被要求退出并返回true

    public void run ()

    调用设置Runnable对象的run()方法。如果没有设置Runnable,什么也不做。

    受保护方法

    protected void onLooperPrepared ()

    如果需要在Looper循环之前执行一些设置,可明确继承该回调方法。

    (译者注:如下代码:

             void run() {

                       mTid 
    = Process.myTid();

                       Looper.prepare();
    //创建一个Looper实例,并且存储在ThreadLocal中,ThreadLocal中维护一个HashMap,键是线程号

                       
    synchronized (this) {

                                mLooper 
    = Looper.myLooper();//得到当前线程的Looper,就是刚才perpare方法中创建并存储的那个Looper实例

                                Process.setThreadPriority(mPriority);

                                notifyAll();

                       }

             onLooperPrepared();

             Looper.loop();
    //开始轮询

             mTid 
    = -1;

    补充

    文章精选

                 Android开发入门——handler使用(二)

                 AsyncQueryHandler研究

                 ThreadLooper以及HandlerMessage详解 Android开发必读[Android123]

                 android Thread HandlerThread Looper Message MessageQueue Handler的关系

  • 相关阅读:
    接口新建学习---边界提取器
    Android Studio打包.so文件教程
    想要开发好的软件,必须学会这几项!
    你应该首先保护哪些应用程序?这个问题本身问错了!
    几周内搞定Java的10个方法
    翻译:程序员做些业余项目的重要性
    【源码】c#编写的安卓客户端与Windows服务器程序进行网络通信
    10款GitHub上最火爆的国产开源项目
    你的Android应用完全不需要那么多的权限
    2015年移动领域发展的九大趋势
  • 原文地址:https://www.cnblogs.com/over140/p/2108590.html
Copyright © 2020-2023  润新知