
Java
enterdy
个人站点:www.dyenter.top
展开
-
MessageQueue, Looper源码分析(Native层)
本源码分析基于Android8.0 源码目录 Java层 framework/base/core/java/andorid/os/MessageQueue.java framework/base/core/java/andorid/os/Looper.java Native层 system/core/libutils/include/utils/RefBase.h system/co...原创 2018-04-18 17:51:11 · 304 阅读 · 0 评论 -
Android探索更新UI的方法(一)-子线程更新UI
前言 在前面的文章中,我们讲述了Handler,MessageQueue,Looper三者的关系,从Java层深入到native层。 1、 Android线程间通信基础——Handler,Looper,MessageQueue 2、Handler,MessageQueue,Looper源码分析(Native层) 那么今天我们来讲讲跟Handler相关,在开发中我们经常用的更新U...原创 2018-04-19 11:01:28 · 303 阅读 · 0 评论 -
Android探索更新UI的方法(二)-更新UI的方式
前言 前一章我们讲了更新UI的时机,即Android是在哪一刻才更新UI的,了解Android更新UI的源码流程有助于我们了解其本质,在开发过程中出错也能更快的定位。当然看源码也要不求甚解,不要一头砸进去,毫无头绪,只需顺着一条主线,适可而止。像UI怎么显示到屏幕上的,实际App进程是把显示操作发给System_Server进程的WindowManagerService线程,让它去显示,中间...原创 2018-04-23 17:53:03 · 249 阅读 · 0 评论 -
Java多线程基础——线程模型
前言 在Android应用开发中,由于Android系统的单线程模型(UI主线程),使得一些耗时操作必须放在子线程执行;又由于线程间需要交互信息,在多线程环境中,需要做好同步操作,以防止不可预期的错误发生。因此,掌握多线程相关知识对于开发尤为重要。比如在我们常用的Okhttp,Rxjava等框架中都可以看见多线程的身影(ThreadPoolExecutor) 硬件概述 由于计算机...原创 2018-04-23 17:54:16 · 3633 阅读 · 0 评论 -
Java多线程基础——多线程实例
前言 在之前我们讲述了Java的线程模型,理解清楚了过后再我们使用的过程中才能得心应手,防止不必要的错误出现,多线程错误是很难复现的错误,一定要小心谨慎的使用。 同时,这里讲的是线程间交互,同步的问题,如果线程间不存在交互,各自用自己的局部变量工作,也不存在这些问题了。 共享变量 假如有一下场景,两个线程依次对某一个成员变量进行操作,会出现什么问题呢? public cl...原创 2018-04-24 00:18:23 · 301 阅读 · 0 评论