前言,才开始学安卓十几天,不料被线程挡住了前进的步伐,因为之前操作系统课程并没有认真听老师讲课,导致现在理解这些抽象的东西有些小困难。没关系,苦学之路,总会碰到坎坷,这里也给那些迷失在Android之路的小生们鼓励,每天多学一点,就是给自己最大的馈赠。

  1.可能有很多人看到这个线程就有点慌乱了手脚,这个名词有点高大上,我是这么觉得的,无独有偶,我觉得同步,异步也是一样,如果从一个刚入门Android的同学,可能会很难理解,遇到这些问题就想跳过,我就是这样的人。

  2.对于Android开发来说,UI是特别重要的,如果你功能再强大,但是界面真的很丑,那真是太可惜了。所以Android是特别讲究UI主界面的,所以她有一个专门的主线程,就是为了一心一意为他服务的。UI很漂亮,所以我用了她,主线程就是她背后的男人了。

  3.女人总是要展示最美的一面给别人看,所以背后掏钱买衣服,买钱包的还是男人-----主线程,当然其他小男人-----子线程,就没有资格了,破坏别人婚姻的都没有资格的,那他们干什么呢...

  4.其实这些小男人-----子线程,是为主线程服务的,主线程一个人忙不过来,所以招了一些可靠的人来帮他。比如啊,拿什么快递,拿什么外卖,比较费时的事情,就交给子线程了。如数据库查询啊,文件下载啊,这些主线程都不想亲自去跑,毕竟他还要去疼自己的老婆的。

  5.那子线程和主线程怎么交互呢?比如啊,你叫你同学帮你拿快递,这里已经产生了一个子线程,就是你不是亲自去拿快递,你同学扮演的就是子线程。

然后,你跟你同学说,12点的话,帮我把快递放在宿舍,1点的话,帮我把快递放在图书馆,2点的话,帮我把快递放在课室...然后要你同学每个时间段应该怎么做,这些都是定义一个handler,每个时间段就是一个msg.what,但是这些都没有发生过,只是预想。

  6.实际上呢,你同学只会传递一个时间的信息给你,说明他都按照你的吩咐去做了,所以这个时间的信息就特别关键了,在Android中叫做Message,在子线程中,也就是你同学的角度,他会sendEmptyMessage给你 ,参数是你自己定义的时间。而作为你的角度,也就是在主线程中,你定义了这些时间信息即是meg.what,然后你根据时间,更新自己的UI了。

  7.比如啊,主线程是长江,子线程是长江的支流,然后handler就是支流到长江的一座桥,长江派了一个handler使者去监视支流完成的工作,然后支流打电话msg.what告诉长江这里的情况,然后长江继续向东流,更新UI

  8.最后在写一句激励语吧-----既然你选择了,便不顾风雨兼程!晚安思密达-----2017/7/10 0:30

Android+Handler+Thread 那些事儿的更多相关文章

  1. Android handler Thread 修改UI Demo

    /********************************************************************** * Android handler Thread 修改U ...

  2. 解析Android消息处理机制:Handler/Thread/Looper & MessageQueue

    解析Android消息处理机制 ——Handler/Thread/Looper & MessageQueue Keywords: Android Message HandlerThread L ...

  3. android 多线程Thread,Runnable,Handler,AsyncTask

    先看两个链接: 1.http://www.2cto.com/kf/201404/290494.html 2. 链接1: android 的多线程实际上就是java的多线程.android的UI线程又称 ...

  4. Android Handler leak 分析及解决办法

    In Android, Handler classes should be static or leaks might occur, Messages enqueued on the applicat ...

  5. Android Handler练习

    package com.example.myact12; import java.util.Random; import android.support.v7.app.ActionBarActivit ...

  6. Android Handler简单使用

    package com.example.myhandlertest3; import android.os.Bundle; import android.os.Handler; import andr ...

  7. [Android]Handler的消息机制

    最经面试中,技术面试中有一个是Handler的消息机制,细细想想,我经常用到的Handler无非是在主线程(或者说Activity)新建一个Handler对象,另外一个Thread是异步加载数据,同时 ...

  8. 详解Android Handler的使用-别说你不懂handler

    我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念         Handler主 ...

  9. 详解Android Handler的使用

    我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念         Handler主 ...

随机推荐

  1. Android Process & Thread

    Native Service and Android Service Native Service:In every main() method of NativeService, which is ...

  2. 快速配置$XX_TOP方法

    查找配置文件名 执行:env | grep CONTEXT 得到: CONTEXT_FILE=/dev01/oracle/UAT/inst/apps/UAT_ksebsdt/appl/admin/UA ...

  3. Quartz .Net(定时框架):

    Quartz .Net(定时框架): 基本说明: 说明:Quartz .Net 是一个从 Java 版的 Quartz 移植过来定时任务框架,可以实现异常灵活的定 时任务 用法: 安装 Quartz ...

  4. C#WinFrom写的拼图游戏

    1.窗口载入时自动生成拼图按钮 ;//按钮的行.列数 Button[,] buttons = new Button[N, N];//按钮的数组 ;//记录步数 private void Form3_L ...

  5. C#学习基础,面向对象的三大特征

    学习C#编程,相信大家除了经常接触的是hello world之外,更多的是进一步的去熟悉这门语言的基本特征,以及有哪些概念是我们必要掌握了解的,相信大家都是会知道面向对象的三大特性分别是:封装,继承, ...

  6. Linux安装中文字体包

    进入rhel5.5安装盘/Server路径找到字体安装包: fonts-chinese-3.02-12.el5.noarch.rpm fonts-ISO8859-2-75dpi-1.0-17.1.no ...

  7. TP5.1:数据库的增删改查操作(基于面向对象操作)

    我们现实中对数据库的增删改查操作,都是使用模型类进行操作的(表名::),也就是面向对象操作,只有底层的代码用的是数据库操作(Db::table('表名')) 下面我将贴出模型类进行的增删改查操作,通过 ...

  8. GNU Nano编辑器

    ^表示 control建 ^X 退出 nano ^O 保存文件 ^R 插入其他文件内容至光标位置 ^W 查找字符串 ^Y 跳至前一屏 ^V 跳至后一屏 ^K 剪切光标所在行并保存到剪贴板,或剪切选中内 ...

  9. 【JavaScript 封装库】BETA 2.0 测试版发布!

    /* 源码作者: 石不易(Louis Shi) 联系方式: http://www.shibuyi.net =============================================== ...

  10. chapter1-printf.py

    #!/usr/bin/env python # _*_ coding:utf-8 _*_ from ctypes import * libc = CDLL("libc.so.6") ...