Vold是Android系统处理磁盘的核心部分,取代了原来Linux系统中的udev,主要用来处理Android系统的热插拔存储设备。在Android2.2以后的系统中,vold源码已经移到了system目…
分类:Android源码分析
Android 权限最佳实践和代码实例分析
一、 官方推荐的权限最佳实践 如果没有节制地频繁请求权限很容易使用户反感,如果用户发现app需要大量的敏感权限,很可能会拒绝使用甚至直接卸载。以下几点可以有效地提升用户的使用体验。 1. 考虑使用Intent 在很多情况…
Android 8.0 RIL源码分析(一)
1.去电流程三中跟踪到最后的时候可以看到其调用了RIL的dail方法 这里继续以此分析其从RIL到Modem的流程 @Override public void dial(String address, int clirM…
Android磁盘管理-之vold源码分析(3)
作者:gzshun. 原创作品,转载请标明出处! NetlinkManager类负责管理捕获内核的uevent事件,这里使用了Netlink套接字。 Netlink的概念: Netlink套接字是用以实现用户进程与内核进…
android WifiDisplay 源码分析系列 (一)
写在前面: 说来阅读android源码也有一段时间了,虽然经历了很多痛苦,但是学习android这种极具艺术性的编程方法还是很快乐的,特别是当对于某个难点理解的时候,…
Android屏幕截图实现方式 系统截屏源码分析和三指截屏
Android截屏的方式: 1.获取DecorView截屏 通过获取DecorView的方式来实现截屏(前提是当前Activity已经加载完成),DecorView为整个Window界面的最顶层View,因此截屏不包含状…
天天记录 - Android refreshDrawableState源码及流程简单分析
有多种因素会导致触发refreshDrawableState,当前只考虑其中一种setPressed即设置视图是否处于被按下状态。其他会触发此方法的有focusChanged等。 …
android源码分析(一) - 语言切换机制
android语言切换是在packages/apps/Settings/com/android/settings/LocalePicker.java的updateLocale()函数中调用. /** * Requests…
Android语言切换的源码分析
前言 前篇阐述了Android语言切换的方法,那么这一篇文章我们就深入了解一下Android语言切换的原理吧。 Android语言切换的方法 正文 1、进入语言切换的入口类LocalePicker,找到updateLoc…
Dagger2 与 AndroidInjector
1.遇到的问题 相信使用过Dagger开发Android应用的小伙伴会知道(如果你还不是很了解Daager,可以先看我之前的一篇基本介绍: Dagger2使用攻略),我们会在Activity或Fragment的生命周期方…
android binder驱动源码分析(二)
接着上篇的讲。 我们注意到binder在使用buffer的时候一次声明一个proc(对应一个进程)的buffer总大小,然后分配一页并做好映射。当使用时,发现空间不足,我们接着映射,同时把这个buffer拆成两个,并把剩…
Android WifiDisplay 源码分析总结报告说明
之前基于对Android 源码的分析写了两篇介绍Android WifiDisplay的文章,分别见android WifiDisplay 源码分…