前言,才开始学安卓十几天,不料被线程挡住了前进的步伐,因为之前操作系统课程并没有认真听老师讲课,导致现在理解这些抽象的东西有些小困难。没关系,苦学之路,总会碰到坎坷,这里也给那些迷失在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. 让你的sharepoint2013具有EMS快递查询的功能

    <iframe name="kuaidi100" src="http://www.kuaidi100.com/frame/app/index2.html" ...

  2. 刚刚写的一个lua下解释csv的工具。

    csvtool = {} function csvtool:csv2table(filename) if type(filename) ~= "string" or filenam ...

  3. ansible使用9-Playbooks: Special Topics

    Accelerated Mode port 5099 持续连接30min --- - hosts: all accelerate: true tasks: - name: some task comm ...

  4. js&jquery:添加事件的三种方法和常用的一些事件

    一.添加事件的方法 1.EventTarget.addEventListener添加 获取事件目标元素,通过addEventListener函数添加 // Assuming myButton is a ...

  5. Selenium入门10 弹出框的处理 switch_to.alert

      三种弹出框alert(一个按钮),confirm(两个确认,取消),prompt(两个按钮+输入框). 切换到弹框: switch_to_alert()  新版的selenium用:  brows ...

  6. 【BZOJ3622】已经没有什么好害怕的了(动态规划+广义容斥)

    点此看题面 大致题意: 有\(n\)个糖果和\(n\)个药片,各有自己的能量.将其两两配对,求糖果比药片能量大的组数恰好比药片比糖果能量大的组数多\(k\)组的方案数. 什么是广义容斥(二项式反演) ...

  7. Python实现接口测试中的常见四种Post请求数据

    前情: 在日常的接口测试工作中,模拟接口请求通常有两种方法, 利用工具来模拟,比如fiddler,postman,poster,soapUI等 利用代码来模拟,使用到一些网络模块,比如HttpClie ...

  8. Breaking Biscuits(模板题-求凸边形的宽)

    Breaking Biscuits 时间限制: 1 Sec  内存限制: 128 MB  Special Judge提交: 70  解决: 26[提交] [状态] [讨论版] [命题人:admin] ...

  9. Spring使用Setter依赖注入

    一个简单的Spring例子来展示如何通过setter方法注入依赖项,最常用DI方法注入bean. 1. IOutputGenerator 接口和实现类   package faj.test.javad ...

  10. Java中阻塞队列的使用

    http://blog.csdn.net/qq_35101189/article/details/56008342 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如 ...