Android6.0Framework源碼解析系列[目錄]

看前人在好久之前就達到我如今遠遠不及的高度,這讓我以爲有些無力。也正是他們趟過的坑能指引我即將前進的路。因此我很慶幸。我慶幸有人指引,我慶幸我在前進。java

本着向大牛學習以及知其然知其因此然的精神,準備有目的、系統性的Read The Fucking Source Code。既看成本身的筆記,也但願能夠幫助部分後來者。android

這是一篇已經閱讀的Anroid6.0中Framework源碼目錄,前期會有順序、有目的的閱讀源碼,下一篇多多少少都會和上一篇有些關聯,建議先馬後看。後續應該會組成一個系列。儘管會有些艱難,仍是但願本身能堅持下去。Framework,我來了。緩存

Android Zygote啓動流程源碼解析

本文依據6.0源碼,主要分析Zygote進程的啓動流程。Zygote進程是AndroidJava世界的開創者。在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()方法。oop

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啓動流程源碼解析spa

Android 使用WindowManager實現懸浮窗及源碼解析

極度的簡單每每是繁瑣的假象。

Android 從源碼的角度帶你徹底解析AsyncTask

你真的會用AsyncTask嗎?

Android 頂級視圖DecorView的前世此生

自定義View必看的頂級視圖DecorView

Android Volley核心源碼解析

一、特別適合數據量小,通訊頻繁的網絡操做。 
二、擴展性強。Volley 中大可能是基於接口的設計,可配置性強。 
三、必定程度符合 Http 規範,包括返回 ResponseCode(2xx、3xx、4xx、5xx)的處 理,請求頭的處理,緩存機制的支持等。並支持重試及優先級定義。 
四、默認 Android2.3 及以上基於 HttpURLConnection,2.3 如下基於 HttpClient 實現。 
五、提供簡便的圖片加載工具。總之Volley就是很牛逼啦!

ThreadLocal源碼解析

ThreadLocal不是一個具體的線程。它是一個線程內部的數據存儲類,經過它能夠再指定的線程中存儲數據,數據存儲之後,只有在指定線程中能夠獲取到存儲的數據,對於其它線程來講則沒法獲取到數據。

Handler、Message、MessageQueue、Looper調用過程源碼淺析

Android異步消息機制分析。消息是怎麼傳遞的?異步又是如何實現的?在看此文章以前建議不太瞭解ThreadLocal的讀者先了解下上一篇文章《ThreadLocal源碼淺析》,在後文中會有所涉及。

相關文章
相關標籤/搜索