阅读Android Framework层的源码可能是Android 开发者深入学习的必经之路。但在我学习的过程中看到最多的是各路大神的源码分析,而很少有展示如何一步一步找到相关代码的。直到前不久看到老罗的视频 《Andr…
分类:Android源码分析
Android LayoutInflater源码分析及使用(一)
说到LayoutInflater可能大家首先想到的是加载layout,一般我们会习惯性的调用View中的这个静态方法 public static View inflate(Context context, int res…
DiskLruCache 实现分析
前言 本文中的 DiskLruCache 实现来自 AOSP,同时也被 OkHttp 的缓存系统所采用。这个类,顾名思义就是能够将缓存数据持久化到磁盘上,并使用 LRU 淘汰算法来维持缓存保持在一个稳定的大小。 这里想多…
Android Binder机制 - interface_cast和asBinder源码分析
研究Android底层代码时,尤其是Binder跨进程通信时,经常会发现interface_cast和asBinder,很容易被这两个函数绕晕,下面通过分析源码来讲解一下: interface_cast 下面根据下述IC…
android adb源码分析(2)
本篇分析usb_linux_client.c中的usb_init(),它的代码如下: void usb_init() { if (access(USB_FFS_ADB_EP0, F_OK) == 0) { usb_ffs…
Android-vold源码分析之handleBlockEvent(5)
作者:gzshun. 原创作品,转载请标明出处! 上篇文章分析到了handleBlockEvent函数,该函数包含了以下6个处理函数: void handleDiskAdded(const char *devpath, …
Android RecyclerView瀑布流中Item宽度异常的问题(源码分析)
问题描述 通过RecyclerView配合StaggeredGridLayoutManager可以很方便的实现瀑布流效果,一般情况下会把作为Item的子View宽度设置为MATCH_PARENT,那么子View将根据列数…
关于Android 电话接通的时候,将proximity sensor开启的源码分析
1.当在进入电话进来,并且没有接通的界面的时候,向右滑动会触发turnOnProximitySensor(ProximitySensor.java)方法,该方法中的mProximityWakeLock在其构造器中已经设置…
安卓开发探索站
原 Android属性动画详解(二),插值器和估值器 在上篇博客中主要和大家讨论了属性动画的用法,相信通过上篇博客大家对属性动画的用法已经不陌生了,那么今天就来大家一起讨论下属性动画的执行流程。 谈到属性动画的执行流程,…
Android ThreadLocal 及 InheritableThreadLocal 分析
因为在android中经常用到handler来处理异步任务,通常用于接收消息,来操作UIThread,其中提到涉及到的looper对象就是保存在Threadlocal中的,因此研究下Threadlocal的源码。 分…
大牛们是怎么阅读 android 系统源码的?
分享自己总结的一些阅读源码的方法,需要注意的几个点可以注意下 做什么事情都要知道从那里开始,读程序也不例外。在c语言里,首先要找到main()函数,然后逐层去阅读,其他的程序无论是vb、delphi都要首先找到程序头,否…
Java 中的 Timer 源码分析及缺陷
使用Timer执行定时任务很简单,一般这样子写: Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public void r…