摘要: ι 版权声明:本文为博主原创文章,未经博主允许不得转载。 Looper在Android的消息机制中就是用来进行消息循环的。它会不停地循环,去MessageQueue中查看是否有新消息,如果有消息就立刻处理该消息,否则就一直等待。 Looper中有一个属性: 这也就解释了,前面我们所说的我们可以通过T 阅读全文
posted @ 2017-06-18 19:22 Bella的技术轮子 阅读(1078) 评论(2) 推荐(1) 编辑
摘要: ι 版权声明:本文为博主原创文章,未经博主允许不得转载。 MessageQueue,主要包含2个操作:插入和读取。读取操作会伴随着删除操作,插入和读取对应的方法分别为enqueueMessage和next,其中enqueueMessage的作用是往消息队列中插入一条消息,而next的作用是从消息队列 阅读全文
posted @ 2017-06-18 19:10 Bella的技术轮子 阅读(3033) 评论(0) 推荐(0) 编辑
摘要: ι 版权声明:本文为博主原创文章,未经博主允许不得转载。 先看Android源码(API24)中对ThreadLocal的定义: 即ThreadLoca是一个泛型类,再看对该类的注释: 也就是说,ThreadLocal类提供一个thread-local的变量,但是这个变量在每个线程中的副本是不同的, 阅读全文
posted @ 2017-06-18 16:59 Bella的技术轮子 阅读(463) 评论(4) 推荐(0) 编辑
摘要: ι 版权声明:本文为博主原创文章,未经博主允许不得转载。 在上一篇文章中,我们已经提到了ThreadLocal,它并非线程,而是在线程中存储数据用的。数据存储以后,只能在指定的线程中获取到数据,对于其他线程来说是无法获取到数据的,也就是说ThreadLocal可以在多个线程中互不干扰地存储和修改数据 阅读全文
posted @ 2017-06-18 16:48 Bella的技术轮子 阅读(217) 评论(0) 推荐(0) 编辑
摘要: ι 版权声明:本文为博主原创文章,未经博主允许不得转载。 1.为什么需要Android的消息机制 因为Android系统不允许在子线程中去访问UI,即Android系统不允许在子线程中更新UI。 为什么不允许在子线程中更新UI呢?因为Android的控件不是线程安全的。既然是非线程安全的,那么若在多 阅读全文
posted @ 2017-06-18 13:50 Bella的技术轮子 阅读(245) 评论(0) 推荐(0) 编辑