Android源码分析
文章平均质量分 94
对AndroidFrameWork以及主流开源框架源码进行分析
半岛铁盒里的猫
一个热爱足球和音乐,带有一定程度文艺气息的主流程序员。
展开
-
全面分析Handler消息机制
更多关于安卓源码分析文章,请看:Android源码分析专栏 相信Handler大家都很熟悉了,最常见的用法就是在一个线程用Handler对象sendMessage,然后在UI线程该Handler对象执行handleMessage使用Message中的数据去更新UI。 Handler的最主要作用确实如此,但是作为Android系统一个很重要的组件如果对它的认识不深入点...原创 2016-08-28 17:14:17 · 2553 阅读 · 18 评论 -
Glide列表预加载组件RecyclerViewPreloader源码解析
更多关于安卓源码分析文章,请看:Android源码分析专栏鼎鼎大名的安卓图片加载框架Glide有一个可能大家比较少用的功能,就是RecyclerView滑动的预加载组件RecyclerViewPreloader,它的功能就是在滑动列表的时候提前加载指定item图片数据进入内存,使得滑动的时候可以立即看到图片显示而不需要等待。Glide官方链接如何使用:它的使用非常简单...原创 2018-05-26 18:17:01 · 3856 阅读 · 0 评论 -
浅析安卓事件分发机制源码
最近工作需要需要做一些比较复杂的自定义View,其中事件分发的处理自然少不了,结合之前阅读过的大量资料,工作是完成了,但是对事件分发的处理总觉得很不清晰,知其然不知其所以然的感觉让人很不舒服。如果不知道事件分发原理,要是处理的情况很复杂的话,那就很难解决了。之前也看过任玉刚的《安卓开发艺术探索》对于事件分发源码的分析,但只能说大致了解了事件分发的流程,而不知其中的道理。索性践行某位大师的名言—原创 2017-07-09 21:48:56 · 1002 阅读 · 0 评论 -
Android 图片加载框架Universal-Image-Loader源码解析
Universal-Image-Loader(项目地址)可以说是安卓知名图片开源框架中最古老、使用率最高的一个了。一张图片的加载对于安卓应用的开发也许是件简单的事,但是如果要同时加载大量的图片,并且图片用于ListView、GridView、ViewPager等控件,如何防止出现OOM、如何防止图片错位(因为列表的View复用功能)、如何更快地加载、如何让客户端程序员用最简单的操作完成本来十分复杂的原创 2017-03-26 10:52:32 · 3922 阅读 · 3 评论 -
聊聊Volley源码(网络请求过程)
上一篇博文基本溜了一圈Volley的整体流程 聊下Volley源码(整体流程),但是各个细节都没讲到,这篇文章准备讲下网络请求的细节过程。像上一篇博文所说,每个Volley请求,基本都是创建一个请求队列RequestQueue对象和一个具体的请求(比如StringRequest),然后将该请求add到RequestQueue对象中即可。而在创建请求队列的过程中,又启动了CacheDispatcher原创 2017-02-18 21:23:22 · 1083 阅读 · 0 评论 -
聊聊Volley源码(缓存流程)
上一下谈了Volley网络请求流程聊聊Volley源码(网络请求过程),今天来谈下请求的缓存流程。首先必须明确的是缓存的概念:缓存是“存贮数据(使用频繁的数据)的临时地方,因为取原始数据的代价太大了,所以我将它们存在容易取的地方,所以可以取得快一些。”在讲缓存流程之前,首先需要说明下Http的缓存机制,只有熟悉了Http的缓存机制,才可以理解Volley的缓存机制,因为Volley 构建了一套相对完原创 2017-02-26 23:38:40 · 532 阅读 · 0 评论 -
聊下Volley源码(整体流程)
最近过年回来工作很清闲,于是变想找点事做,想起虽然看分析Volley源码的文章也不算少,但是还没有真正去研究过Volley源码,所以就好好研究它。 Volley大家想必都比较熟悉,作为谷歌官方推荐的网络请求库,必定很强大,可以满足广大群众的需求,像很多介绍Volley的博客一样,我也来一张官方的图片:Volley正如图片所示一群弓箭手射箭一样,适合频繁但量小的请求。这是官方的工作流程图:从原创 2017-02-11 22:02:12 · 1312 阅读 · 6 评论 -
开源项目MultiActionTextView解析
更多关于安卓源码分析文章,请看:安卓源码分析专栏 MultiActionTextView是GitHub一个热门的开源项目(项目地址:https://github.com/ajaysahani/MultiActionTextView),主要功能是可以方便地可以分别给TextView中的某几个字设置点击事件,最近分析了源代码,觉得也不复杂,就有了写博客的想法,用一个小demo来...原创 2015-05-31 10:17:40 · 1186 阅读 · 0 评论 -
安卓AlertDialog源码浅析
更多关于安卓源码分析文章,请看:Android源码分析专栏 最近工作需要,将AlertDialog的源码拷贝一份并替换为公司所要求的界面,这样就拥有了一个完全属于公司自己的弹窗。在这个过程中,也研究了AlertDialog的源码,觉得也有不少的收获,于是分享一下,如果可以帮助同行更好熟悉AlertDialog那就更wonderful了。以下为安卓版本为5.1。 首先必须明...原创 2016-07-24 14:37:48 · 3882 阅读 · 0 评论 -
深入安卓系统卷3之控件系统简单笔记
WindowManager内部都是对进程唯一的WindowManagerGlobal的代理WindowManagerGlobal 1. 三个数组管理一个进程中所有窗口的信息:views,layoutparams,roots分别保存一个窗口的根控件,Layoutparams,viewrootImpl 2. ViewRootImpl.setView托管了根控件,完成了控件窗口的添加,并且建立了...原创 2019-06-16 13:06:58 · 252 阅读 · 0 评论