前言,才开始学安卓十几天,不料被线程挡住了前进的步伐,因为之前操作系统课程并没有认真听老师讲课,导致现在理解这些抽象的东西有些小困难。没关系,苦学之路,总会碰到坎坷,这里也给那些迷失在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. u-boot分析(五)----I/D cache失效|关闭MMU和cache|关闭看门狗

    u-boot分析(五) 上篇博文我们按照210的启动流程,对u-boot启动中的设置异常向量表,设置SVC模式进行了分析,今天我们继续按照u-boot的启动流程对以下内容进行分析. 今天我们会用到的文 ...

  2. struts2.3.4.1转换成eclipse项目的过程

    1.在本地安装配置maven. 1.1.从maven官网下载,官网地址:http://maven.apache.org/download.cgi 1.2.配置maven环境变量       例如,我的 ...

  3. CToolTipCtrl使用详细解说

    很多的界面设计都需要有Tip提示,下面描述一下Tip的简单使用方法: 1. 首先要New一个CToolTipCtrl的对象m_pContentTip 2. 调用CToolTipCtrl的create函 ...

  4. leetcode: 贪心

    1. jump game Given an array of non-negative integers, you are initially positioned at the first inde ...

  5. JavaRebel 2.0 发布,一个JVM插件

    JavaRebel是一个JVM插件(-javaagent),能够即时重载java class更改,因此不需要重新部署一个应用或者重启容器,节约开发者时间. JavaRebel 2.0的新特征: 改变了 ...

  6. 过河问题(POJ1700)

    题目链接:http://poj.org/problem?id=1700 解题报告: 1.贪心算法,每次过两个速度最慢的人,抵消那个较慢的人的时间. #include <stdio.h> # ...

  7. 1.6 NBU Catalog备份还原

    用户的数据保存到了磁盘或者磁带中,并且是安全的,NBU所在的机器还有可能发生故障,需要重新安装或者将NBU部署到其他的机器中继续使用. 在这种情况下,如何让NBU知道用户已经存在的备份策略和存储单元配 ...

  8. CentOS6.5手动升级gcc4.8.2

    一.简易安装 操作环境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2 不能通过yum的方法升级,需要自己手动下载安装包并编译 本文记录了在Cent ...

  9. lintcode 77.Longest Common Subsequence(最长公共子序列)、79. Longest Common Substring(最长公共子串)

    Longest Common Subsequence最长公共子序列: 每个dp位置表示的是第i.j个字母的最长公共子序列 class Solution { public: int findLength ...

  10. vs2012或vs2013调试卡 关闭调试卡

    以前vs2013就有这个问题.没有解决.今天又装了vs2012.又遇到了.特别郁闷. 今天一定要解决.网上百度了.很久.可能关键字有问题.没有找到好的办法. 找到的办法有.显卡问题.不是管理员运行问题 ...