标签: 知识体系
为了方便大家的阅读以及自己的知识体系的建立,特意来写出这个引导文章。以前我是遇到什么写什么,想到什么写什么,从2016年开始我将围绕这个知识体系来写文章,从点到面来逐步建立并完善自己的知识体系,同时也欢迎大家关注我的博客。
如果要查看清晰的分类版本请移步我的个人博客 http://liuwangshu.cn/system
Android系统架构与系统源码目录
Android AOSP基础(一)VirtualBox 安装 Ubuntu
Android AOSP基础(二)AOSP源码和内核源码下载
Android AOSP基础(三)Android系统源码的整编和单编
Android AOSP基础(四)Source Insight和Android Studio导入系统源码
Android AOSP基础(五)Android Studio调试系统源码的三种方式
Android系统启动流程(一)解析init进程启动过程
Android系统启动流程(二)解析Zygote进程启动过程
Android系统启动流程(三)解析SyetemServer进程启动过程
Android系统启动流程(四)Launcher启动过程与系统启动流程
Android应用程序进程启动过程(前篇)
Android应用程序进程启动过程(后篇)
Android深入四大组件(一)应用程序启动过程
Android深入四大组件(二)Service的启动过程
Android深入四大组件(三)Service的绑定过程
Android深入四大组件(四)广播的注册、发送和接收过程
Android深入四大组件(五)Content Provider的启动过程
Android深入四大组件(六)Android8.0 根Activity启动过程(前篇)
Android深入四大组件(七)Android8.0 根Activity启动过程(后篇)
更多见《Android进阶解密》
Android Binder原理(一)学习Binder前必须要了解的知识点
Android Binder原理(二)ServiceManager中的Binder机制
Android Binder原理(三)系统服务的注册过程
Android Binder原理(四)ServiceManager的启动过程
Android Binder原理(五)系统服务的获取过程
Android Binder原理(六)Java Binder的初始化
Android深入理解Context(一)Context关联类和Application Context创建过程
Android深入理解Context(二)Activity和Service的Context创建过程
Android深入理解JNI(一)JNI原理与静态、动态注册
Android深入理解JNI(二)类型转换、方法签名和JNIEnv
Android解析ActivityManagerService(一)AMS启动流程和AMS家族
Android解析ActivityManagerService(二)ActivityTask和Activity栈管理
更多见《Android进阶解密》
Android解析WindowManager(一)WindowManager体系
Android解析WindowManager(二)Window的属性
Android解析WindowManager(三)Window的添加过程
Android解析WindowManagerService(一)WMS的诞生
Android解析WindowManagerService(二)WMS的重要成员和Window的添加过程
Android解析WindowManagerService(三)Window的删除过程
Android包管理机制(一)PackageInstaller的初始化
Android包管理机制(二)PackageInstaller安装APK
Android包管理机制(三)PMS处理APK的安装
Android包管理机制(四)PMS的创建过程
Android包管理机制(五)APK是如何被解析的
Android输入系统(一)输入事件传递流程和InputManagerService的诞生
Android输入系统(二)IMS的启动过程和输入事件的处理
Android输入系统(三)InputReader的加工类型和InputDispatcher的分发过程
Android输入系统(四)输入事件是如何分发到目标窗口的?
MediaPlayer框架概述(一)
MediaPlayer框架概述(二)
Android mediaRecorder框架简述(一)
Android mediaRecorder框架简述(二)
Android MediaPlayer+Stagefright框架(音频)图解
Stagefright框架解读(—)音视频Playback流程
Gradle核心思想(一)为什么现在要用Gradle?
Gradle核心思想(二)Gradle入门前奏
Gradle核心思想(三)Groovy快速入门指南
Gradle核心思想(四)看似无用,实则重要的Gradle Wrapper
Gradle核心思想(五)通俗易懂的Gradle插件讲解
Gradle核心思想(六)自定义Gradle插件的三种方式
Android Gradle (一)Gradle的Android插件入门
Android Gradle (二)签名配置和依赖管理
Android Jetpack架构组件(一)带你了解Android Jetpack
Android Jetpack架构组件(二)带你了解Lifecycle(使用篇)
Android Jetpack架构组件(三)带你了解Lifecycle(原理篇)
Android Jetpack架构组件(四)带你了解LiveData(使用篇)
Android Jetpack架构组件(五)带你了解LiveData(原理篇)
Android Jetpack架构组件(六)一文带你了解ViewModel的使用和原理
Android解析ClassLoader(一)Java中的ClassLoader
Android解析ClassLoader(二)Android中的ClassLoader
Android网络编程(一)HTTP协议原理
Android网络编程(二)HttpClient与HttpURLConnection
Android网络编程(三)Volley用法全解析
Android网络编程(四)从源码解析volley
Android网络编程(五)OkHttp2.x用法全解析
Android网络编程(六)OkHttp3用法全解析
Android网络编程(七)源码解析OkHttp前篇[请求网络]
Android网络编程(八)源码解析OkHttp后篇[复用连接池]
Android网络编程(九)Retrofit2前篇[基本使用]
Android网络编程(十)Retrofit2后篇[注解]
Android网络编程(十一)源码解析Retrofit
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体系(十一)自定义ViewGroup
Android IPC机制(一)开启多进程
Android IPC机制(二)用Messenger进行进程间通信
Android IPC机制(三)在Android Studio中使用AIDL实现跨进程方法调用
Android IPC机制(四)用ContentProvider进行进程间通信
Android IPC机制(五)用Socket实现跨进程聊天程序
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内存优化(一)DVM和ART原理初探
Android内存优化(二)DVM和ART的GC日志分析
Android内存优化(三)避免可控的内存泄漏
Android内存优化(四)解析Memory Monitor、Allocation Tracker和Heap Dump
Android内存优化(五)详解内存分析工具MAT
Android内存优化(六)LeakCanary使用详解
Android架构(一)MVP全解析
更多内容见《Android进阶之光》
Android响应式编程(一)RxJava前篇[入门基础]
更多内容见《Android进阶之光》
Android事件总线(一)EventBus3.0用法全解析
Android事件总线(二)EventBus3.0源码解析
Android事件总线(三)otto用法全解析
Android事件总线(四)源码解析otto
####热修复插件化原理
Android热修复原理(一)热修复框架对比和代码修复
Android插件化原理(一)Activity插件化
更多见《Android进阶解密》
Android多线程(一)线程池
Android多线程(二)AsyncTask源码分析
Android多线程(三)AsyncTask源码分析(android7.0)
Android 实现广告Banner循环轮播
Android选项卡动态滑动效果
ActionBar-PullToRefresh的使用
Android面试题总结加强版(一)
Android面试题总结加强版(二)
Android面试题总结加强版(三)
Android面试题总结加强版(四)
Flutter基础(一)移动开发的跨平台技术演进
Flutter基础(二)Flutter开发环境搭建和Hello World
Flutter基础(三)Dart快速入门
Flutter基础(四)开发Flutter应用前需要掌握的Basic Widget
Flutter基础(五)Material组件之MaterialApp、Scaffold、AppBar
Flutter基础(六)Material组件之BottomNavigationBar、TabBar、Drawer
Flutter基础(七)Scrolling Widget之ListView、GridView、PageView
Flutter基础(八)手势相关Widget:GestureDetector和Dismissible
Flutter基础(九)资源和图片
Flutter基础(十)布局Widget快速入门
Flutter基础(十一)网络请求(Dio)与JSON数据解析
Flutter基础(十二)路由(页面跳转)与数据传递
Flutter基础(十三)Flutter与Android的相互通信
Java并发编程(一)线程定义、状态和属性
Java并发编程(二)同步
Java并发编程(三)volatile域
Java并发编程(四)Java内存模型
Java并发编程(五)ConcurrentHashMap的实现原理和源码分析
Java并发编程(六)阻塞队列
Java并发编程(七)ConcurrentLinkedQueue的实现原理和源码分析
Java虚拟机(一)结构原理与运行时数据区域
Java虚拟机(二)对象的创建与OOP-Klass模型
Java虚拟机(三)垃圾标记算法与Java对象的生命周期
Java虚拟机(四)垃圾收集算法
设计模式(一)设计六大原则
创建型模式
设计模式(二)单例模式的七种写法
设计模式(三)建造者模式
设计模式(四)简单工厂模式
设计模式(十)工厂方法模式
设计模式(十三)抽象工厂模式
设计模式(十六)原型模式
结构型模式 (从程序的结构上解决模块之间的耦合问题)
设计模式(六)代理模式
设计模式(七)装饰模式
设计模式(八)外观模式
设计模式(十二)享元模式
行为型模式 (处理类或对象如何交互及如何分配职责)
设计模式(五)观察者模式
设计模式(九)模版方法模式
设计模式(十一)策略模式
设计模式(十四)中介者模式
设计模式(十五)状态模式
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组件解析
算法(一)时间复杂度
算法(二)初等排序前篇[插入和希尔排序]
算法(三)初等排序后篇[选择和冒泡排序]
Swift快速入门(一)第一个Swift程序
Swift快速入门(二)基本数据类型
Swift快速入门(三)运算符
Swift快速入门(四)流程控制
Swift快速入门(五)集合