Android O Settings  静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇 Settings 路径: packages/apps/Settings 主界面和子界面 从清单文件AndroidManifest.xml中入手: setting的主界面的Activity为 Settings Settings.java类看,除了大量静态类继承SettingsActivity,就没什么东西了。 setting的子界面Activity为 S…

2021年5月2日 0条评论 7点热度 阅读全文

Android O Settings  静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇 Settings 搜索栏 上篇——界面 中篇——实现原理 下篇——搜索及页面跳转 上篇——界面 首先看一下搜索框的布局实现; 位于Settings主界面布局文件settings_main_dashboard.xml中: 从布局中并不能看出搜索栏是怎么展现出来的; 接着分析SettingsActivity.java——>onCreate(): 这段…

2018年10月24日 0条评论 4点热度 阅读全文

Android O Settings  静态界面篇 界面渲染篇 数据加载篇之一级菜单 数据加载篇之二级菜单 数据加载篇之获取及修改默认设置属性值 搜索栏篇 数据加载之一级菜单 DashboardSummary是顶级菜单的容器,那么数据的获取和它也就有关系。 DashboardCategory的获取是在DashboardSummary中的updateCategoryAndSuggestion方法中,获取之后在DashboardAdapter设置 根据"com.android.settings.categor…

2018年10月21日 0条评论 4点热度 阅读全文

本编文章针对AndroidO 8.0代码讲述。此版本的SystemUI和Notification较之前版本有一些改动。 本编文章讲述展示过程: System Notification --> SystemUI --> Display Notifications。 第一编文章《Android O 8.0 Notification 源码分析(一)》讲述生成过程: App create Notification ----> System's  NotificationManagerServic…

2018年8月8日 0条评论 4点热度 阅读全文

        上篇文章中只是讲到配置文件在哪里,怎么读取文件,但是真正的文件解析还没有开始。这篇就开始分析文件解析,认识这些解析的参数。  接着上篇Audio设备文件加载继续进行分析,知道主要是这个函数起到解析的作用。 static status_t deserializeAudioPolicyXmlConfig(AudioPolicyConfig &config) { char audioPolicyXmlConfigFil…

2018年1月25日 0条评论 4点热度 阅读全文

APK的卸载时我们都会调用到PckageManagerService的deletePackage来删除APK,下面就分析下PKMS删除APK的具体流程。 首先总结卸载非系统APK主要做了哪几件事: 1. 从PKMS内部变量mPackages去除APK,同时从PKMS内部变量中移除APK的Avtivity、Service等信息。 2.删除data下apk产生的数据及目录 3. 删除data分区下产生的APK数据以及dex文件 *  The key steps in deleting a …

2017年11月16日 0条评论 3点热度 阅读全文

Android系统启动源码分析 *本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 解读Android的源码可以让我们更好的学习系统的优秀源码,以及google工程师对于一个程序的是如何实现的,从源码的分析也可以强化我们的编程思想. 引导 Android系统启动流程源码分析,基于Android5.1(个人比较喜欢这个版本的源码,因为改动比较大) Android系统是基于linux内核的,所以在Android启动的时候会先去加载linux内核,内核启动的时候会去加载各种驱动以及数据结构等,然而,An…

2017年4月8日 0条评论 3点热度 阅读全文

RecyclerView及相关类类图 首先从构造函数开始 public RecyclerView(Context context, @Nullable AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); ...... setScrollContainer(true); setFocusableInTouchMode(true); final int version = Build.VERSION.SDK_INT; mPostUpd…

2016年12月26日 0条评论 9点热度 阅读全文

1.当在进入电话进来,并且没有接通的界面的时候,向右滑动会触发turnOnProximitySensor(ProximitySensor.java)方法,该方法中的mProximityWakeLock在其构造器中已经设置好了flag=PROXIMITY_SCREEN_OFF_WAKE_LOCK; 2.这样我们会进入PowerManager.java 的类种类WakeLock的acquire()方法,接着进入PowerManagerService中的acquireWakeLock方法,会进入acquireWakeLo…

2016年8月19日 0条评论 5点热度 阅读全文

在上一篇博客中Android源码分析–MediaServer源码分析(一),我们知道了ProcessState和defaultServiceManager,在分析源码的过程中,我们被Android的Binder通信机制中的各种复杂的类关系搞的眼花缭乱,接下来我们就以MediaPlayerService为例来分析一下Binder的通信机制。首先来回顾一下: BpBinder和BBinder都是Android中Binder通信的代表类,其中BpBinder是客户端用来与Server交互的代理类,p代表的就是proxy,…

2015年3月29日 0条评论 6点热度 阅读全文