2017年本博客知識體系引導(更新至2017.8.11)

前言

爲了方便你們的閱讀以及本身的知識體系的創建,特地來寫出這個引導文章。曾經我是遇到什麼寫什麼。想到什麼寫什麼,從2016年開始我將環繞這個知識體系來寫文章。從點到面來逐步創建並無缺本身的知識體系。同一時候也歡迎你們關注個人博客。
想要查看更清晰的知識體系,請移步到 http://liuwangshu.cn/systemhtml

1.Android應用層

Android網絡編程(完結)

Android網絡編程(一)HTTP協議原理
Android網絡編程(二)HttpClient與HttpURLConnection
Android網絡編程(三)Volley使用方法全解析
Android網絡編程(四)從源代碼解析volley
Android網絡編程(五)OkHttp2.x使用方法全解析
Android網絡編程(六)OkHttp3使用方法全解析
Android網絡編程(七)源代碼解析OkHttp前篇[請求網絡]
Android網絡編程(八)源代碼解析OkHttp後篇[複用鏈接池]
Android網絡編程(九)Retrofit2前篇[基本使用]
Android網絡編程(十)Retrofit2後篇[註解]
Android網絡編程(十一)源代碼解析Retrofitjava

Android View體系(完結)

Android View體系(一)視圖座標系
Android View體系(二)實現View滑動的六種方法
Android View體系(三)屬性動畫
Android View體系(四)從源代碼解析Scroller
Android View體系(五)從源代碼解析View的事件分發機制
Android View體系(六)從源代碼解析Activity的構成
Android View體系(七)從源代碼解析View的measure流程
Android View體系(八)從源代碼解析View的layout和draw流程
Android View體系(九)本身定義View
Android View體系(十)本身定義組合控件
Android View體系(十一)本身定義ViewGroupreact

Android IPC機制(完結)

Android IPC機制(一)開啓多進程
Android IPC機制(二)用Messenger進行進程間通訊
Android IPC機制(三)在Android Studio中使用AIDL實現跨進程方法調用
Android IPC機制(四)用ContentProvider進行進程間通訊
Android IPC機制(五)用Socket實現跨進程聊天程序android

Android Design Support Library

Android Design Support Library(一)用TabLayout實現類似網易選項卡動態滑動效果
Android Design Support Library(二)用NavigationView實現抽屜菜單界面
Android Design Support Library(三)用CoordinatorLayout實現Toolbar隱藏和摺疊
不少其它內容見《Android進階之光》面試

Android新特性

Android5.x RecyclerView 應用解析
Android5.x CardView 應用解析
Android5.x Notification應用解析
Android5.x Toolbar和Palette應用解析算法

不少其它內容見《Android進階之光》編程

Android性能優化

Android繪製優化(一)繪製性能分析
Android繪製優化(二)佈局優化swift

Android內存優化(一)DVM和ART原理初探
Android內存優化(二)DVM和ART的GC日誌分析
Android內存優化(三)避免可控的內存泄漏
Android內存優化(四)解析Memory Monitor、Allocation Tracker和Heap Dump
Android內存優化(五)具體解釋內存分析工具MATreact-native

Android架構

Android架構(一)MVP全解析設計模式

不少其它內容見《Android進階之光》


Android響應式編程

Android響應式編程(一)RxJava前篇[入門基礎]

不少其它內容見《Android進階之光》

Android事件總線 (完結)

Android事件總線(一)EventBus3.0使用方法全解析
Android事件總線(二)EventBus3.0源代碼解析
Android事件總線(三)otto使用方法全解析
Android事件總線(四)源代碼解析otto

Android多線程

Android多線程(一)線程池
Android多線程(二)AsyncTask源代碼分析
Android多線程(三)AsyncTask源代碼分析(android7.0)

Android 界面編程

Android 實現廣告Banner循環輪播
Android選項卡動態滑動效果
ActionBar-PullToRefresh的使用

Android面試總結增強版

Android面試題總結增強版(一)
Android面試題總結增強版(二)
Android面試題總結增強版(三)
Android面試題總結增強版(四)


2.Android框架層

Android系統架構與系統源代碼文件夾

Android系統啓動流程(基於7.0、完結)

Android系統啓動流程(一)解析init進程啓動過程
Android系統啓動流程(二)解析Zygote進程啓動過程
Android系統啓動流程(三)解析SyetemServer進程啓動過程
Android系統啓動流程(四)Launcher啓動過程與系統啓動流程


Android應用程序進程啓動過程(基於7.0、完結)

Android應用程序進程啓動過程(前篇)
Android應用程序進程啓動過程(後篇)

Android深刻理解四大組件

Android深刻四大組件(一)應用程序啓動過程
Android深刻四大組件(二)Service的啓動過程
Android深刻四大組件(三)Service的綁定過程
Android深刻四大組件(四)廣播的註冊、發送和接收過程
Android深刻四大組件(五)Content Provider的啓動過程

Android深刻理解四大組件

Android深刻理解Context(一)Context關聯類和Application Context建立過程
Android深刻理解Context(二)Activity和Service的Context建立過程

Android深刻理解JNI

Android深刻理解JNI(一)JNI原理與靜態、動態註冊
Android深刻理解JNI(二)類型轉換、方法簽名和JNIEnv

Android系統服務

Android系統服務(一)解析ActivityManagerService(AMS)

Android多媒體框架

MediaPlayer框架概述(一)
MediaPlayer框架概述(二)
Android mediaRecorder框架簡述(一)
Android mediaRecorder框架簡述(二)
Android MediaPlayer+Stagefright框架(音頻)圖解
Stagefright框架解讀(—)音視頻Playback流程


3.Java

Java併發編程
Java併發編程(一)線程定義、狀態和屬性
Java併發編程(二)同步
Java併發編程(三)volatile域
Java併發編程(四)Java內存模型
Java併發編程(五)ConcurrentHashMap的實現原理和源代碼分析
Java併發編程(六)堵塞隊列
Java併發編程(七)ConcurrentLinkedQueue的實現原理和源代碼分析

Java虛擬機
Java虛擬機(一)結構原理與執行時數據區域
Java虛擬機(二)對象的建立與OOP-Klass模型
Java虛擬機(三)垃圾標記算法與Java對象的生命週期
Java虛擬機(四)垃圾收集算法


4.設計模式

設計模式(一)設計六大原則
建立型模式
設計模式(二)單例模式的七種寫法
設計模式(三)建造者模式
設計模式(四)簡單工廠模式
設計模式(十)工廠方法模式
設計模式(十三)抽象工廠模式
設計模式(十六)原型模式

結構型模式 (從程序的結構上解決模塊之間的耦合問題)
設計模式(六)代理模式
設計模式(七)裝飾模式
設計模式(八)外觀模式
設計模式(十二)享元模式

行爲型模式 (處理類或對象怎樣交互及怎樣分配職責)
設計模式(五)觀察者模式
設計模式(九)模版方法模式
設計模式(十一)策略模式
設計模式(十四)中介者模式
設計模式(十五)狀態模式


5.React Native

React Native探索
React Native探索(一)環境搭建與Hello World
React Native探索(二)Atom+Nuclide安裝、配置與調試
React Native探索(三)組件的Props(屬性)和State(狀態)
React Native探索(四)Flexbox佈局具體解釋
React Native探索(五)使用fetch進行網絡請求
React Native組件
React Native組件(一)組件的生命週期
React Native組件(二)View組件解析
React Native組件(三)Text組件解析

6.算法

算法(一)時間複雜度
算法(二)初等排序前篇[插入和希爾排序]
算法(三)初等排序後篇[選擇和冒泡排序]


7.Swift

Swift高速入門(一)第一個Swift程序
Swift高速入門(二)基本數據類型
Swift高速入門(三)運算符
Swift高速入門(四)流程控制
Swift高速入門(五)集合


歡迎關注個人微信公衆號,第一時間得到博客更新提醒,以及不少其它成體系的Android相關原創技術乾貨。
掃一掃下方二維碼或者長按識別二維碼。就能夠關注。

相關文章
相關標籤/搜索