Android6.0Framework源码解析系列[目录]

来源:互联网 发布:非农数据软件 编辑:程序博客网 时间:2024/04/30 09:14

看前人在很久以前就达到我现在远远不及的高度,这让我觉得有些无力。也正是他们趟过的坑能指引我即将前进的路。所以我很庆幸。我庆幸有人指引,我庆幸我在前进。

本着向大牛学习以及知其然知其所以然的精神,准备有目的、系统性的Read The Fucking Source Code。既当作自己的笔记,也希望可以帮助部分后来者。

这是一篇已经阅读的Anroid6.0中Framework源码目录,前期会有顺序、有目的的阅读源码,下一篇多多少少都会和上一篇有些关联,建议先马后看。后续应该会组成一个系列。尽管会有些艰难,还是希望自己能坚持下去。Framework,我来了。

Android Zygote启动流程源码解析

本文依据6.0源码,主要分析Zygote进程的启动流程。Zygote进程是Android和Java世界的开创者。在Android系统中,所有的应用进程和SystemServer进程都是由Zygote进程fork而来。其重要性由此可见一斑。

Android SystemServer启动流程源码解析

Zygote进程由init进程启动,SystemServer进程和应用进程由Zygote进程启动。本文依据6.0源码,主要分析SystemServer进程的启动流程。SystemServer进程的作用是启动各种核心服务,例如Installer、ActivityManagerService、WindowManagerService、PowerManagerService等等。

Android Launcher启动应用程序流程源码解析

  1. 点击桌面Launcher图标后做了哪些工作?
  2. 应用程序什么时候被创建的?
  3. Application和MainActivity的onCreate()方法什么时候被调用的?

本文依据Android6.0源码,从点击Launcher图标,直至解析到MainActivity#OnCreate()被调用。

Android setContentView()源码解析

在Activity中一般第一句就是调用setContentView(R.layout.XXX),但这其中系统做了那些工作?我们知道,在ClassLoader装载了MainActivity之后,首先创建了Application,之后依次调用Application对象的onAttach和onCreate()方法。然后顺序调用第一个Activity的onAttach和onCreate()方法。

Android XML布局文件解析过程源码解析

在Activity#setContentView()中会调用PhoneWindow#setContentView()。而在PhoneWindow#setContentView()中有这么一句mLayoutInflater.inflate(layoutResID, mContentParent)。这行代码的作用是将我们的activity_main.xml填充到mContentParent中去。详见:setContentView源码解析。在写adapter的时候,也经常写mInflater.inflate(layoutResID, null)。那么,这行代码怎么就将xml文件转换成了View或者ViewGroup了呢?

Android 高级自定义Toast及源码解析

Toast中你所不知道的那些细节

Android Activity启动流程源码解析

Activity各个方法是什么时候被调用的?史上最简单也是最详细的Activity启动流程源码解析

Android 使用WindowManager实现悬浮窗及源码解析

极度的简单往往是繁琐的假象。

Android 从源码的角度带你完全解析AsyncTask

你真的会用AsyncTask吗?

Android Volley核心源码解析

1、特别适合数据量小,通信频繁的网络操作。
2、扩展性强。Volley 中大多是基于接口的设计,可配置性强。
3、一定程度符合 Http 规范,包括返回 ResponseCode(2xx、3xx、4xx、5xx)的处 理,请求头的处理,缓存机制的支持等。并支持重试及优先级定义。
4、默认 Android2.3 及以上基于 HttpURLConnection,2.3 以下基于 HttpClient 实现。
5、提供简便的图片加载工具。总之Volley就是很牛逼啦!

ThreadLocal源码解析

ThreadLocal不是一个具体的线程。它是一个线程内部的数据存储类,通过它可以再指定的线程中存储数据,数据存储以后,只有在指定线程中可以获取到存储的数据,对于其它线程来说则无法获取到数据。

Handler、Message、MessageQueue、Looper调用过程源码浅析

Android异步消息机制分析。消息是怎么传递的?异步又是如何实现的?在看此文章之前建议不太了解ThreadLocal的读者先了解下上一篇文章《ThreadLocal源码浅析》,在后文中会有所涉及。

4 0
原创粉丝点击