Android应用开发最强原创知识体系

标签: 知识体系


为了方便大家的阅读以及自己的知识体系的建立,特意来写出这个引导文章。以前我是遇到什么写什么,想到什么写什么,从2016年开始我将围绕这个知识体系来写文章,从点到面来逐步建立并完善自己的知识体系,同时也欢迎大家关注我的博客。

如果要查看清晰的分类版本请移步我的个人博客 http://liuwangshu.cn/system


1.Android框架层

Android系统架构与系统源码目录

AOSP基础(基于Android 9.0)

Android AOSP基础(一)VirtualBox 安装 Ubuntu
Android AOSP基础(二)AOSP源码和内核源码下载
Android AOSP基础(三)Android系统源码的整编和单编
Android AOSP基础(四)Source Insight和Android Studio导入系统源码
Android AOSP基础(五)Android Studio调试系统源码的三种方式

系统启动流程(基于Android 7.0)

Android系统启动流程(一)解析init进程启动过程
Android系统启动流程(二)解析Zygote进程启动过程
Android系统启动流程(三)解析SyetemServer进程启动过程
Android系统启动流程(四)Launcher启动过程与系统启动流程

应用程序进程启动过程(基于Android 7.0)

Android应用程序进程启动过程(前篇)
Android应用程序进程启动过程(后篇)

深入理解四大组件(基于Android 7.0/8.0)

Android深入四大组件(一)应用程序启动过程
Android深入四大组件(二)Service的启动过程
Android深入四大组件(三)Service的绑定过程
Android深入四大组件(四)广播的注册、发送和接收过程
Android深入四大组件(五)Content Provider的启动过程
Android深入四大组件(六)Android8.0 根Activity启动过程(前篇)
Android深入四大组件(七)Android8.0 根Activity启动过程(后篇)
更多见《Android进阶解密》

Binder原理(基于Android 9.0)

Android Binder原理(一)学习Binder前必须要了解的知识点
Android Binder原理(二)ServiceManager中的Binder机制
Android Binder原理(三)系统服务的注册过程
Android Binder原理(四)ServiceManager的启动过程
Android Binder原理(五)系统服务的获取过程
Android Binder原理(六)Java Binder的初始化

深入理解Context(基于Android 7.0)

Android深入理解Context(一)Context关联类和Application Context创建过程
Android深入理解Context(二)Activity和Service的Context创建过程

深入理解JNI(基于Android 7.1.2)

Android深入理解JNI(一)JNI原理与静态、动态注册
Android深入理解JNI(二)类型转换、方法签名和JNIEnv

解析AMS(基于Android 7.1.2)

Android解析ActivityManagerService(一)AMS启动流程和AMS家族
Android解析ActivityManagerService(二)ActivityTask和Activity栈管理
更多见《Android进阶解密》

解析WindowManager(基于Android 7.1.2)

Android解析WindowManager(一)WindowManager体系
Android解析WindowManager(二)Window的属性
Android解析WindowManager(三)Window的添加过程

解析WMS完结(基于Android 8.0)

Android解析WindowManagerService(一)WMS的诞生
Android解析WindowManagerService(二)WMS的重要成员和Window的添加过程
Android解析WindowManagerService(三)Window的删除过程

包管理机制(基于Android 8.0)

Android包管理机制(一)PackageInstaller的初始化
Android包管理机制(二)PackageInstaller安装APK
Android包管理机制(三)PMS处理APK的安装
Android包管理机制(四)PMS的创建过程
Android包管理机制(五)APK是如何被解析的

输入系统(基于Android 8.1)

Android输入系统(一)输入事件传递流程和InputManagerService的诞生
Android输入系统(二)IMS的启动过程和输入事件的处理
Android输入系统(三)InputReader的加工类型和InputDispatcher的分发过程
Android输入系统(四)输入事件是如何分发到目标窗口的?

Android多媒体框架(基于Android 2.3)

MediaPlayer框架概述(一)
MediaPlayer框架概述(二)
Android mediaRecorder框架简述(一)
Android mediaRecorder框架简述(二)
Android MediaPlayer+Stagefright框架(音频)图解
Stagefright框架解读(—)音视频Playback流程


2.Android应用层

Gradle核心思想

Gradle核心思想(一)为什么现在要用Gradle?
Gradle核心思想(二)Gradle入门前奏
Gradle核心思想(三)Groovy快速入门指南
Gradle核心思想(四)看似无用,实则重要的Gradle Wrapper
Gradle核心思想(五)通俗易懂的Gradle插件讲解
Gradle核心思想(六)自定义Gradle插件的三种方式

Android Gradle插件

Android Gradle (一)Gradle的Android插件入门
Android Gradle (二)签名配置和依赖管理

Android Jetpack架构组件

Android Jetpack架构组件(一)带你了解Android Jetpack
Android Jetpack架构组件(二)带你了解Lifecycle(使用篇)
Android Jetpack架构组件(三)带你了解Lifecycle(原理篇)
Android Jetpack架构组件(四)带你了解LiveData(使用篇)
Android Jetpack架构组件(五)带你了解LiveData(原理篇)
Android Jetpack架构组件(六)一文带你了解ViewModel的使用和原理

解析ClassLoader

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

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体系(十一)自定义ViewGroup

IPC机制

Android IPC机制(一)开启多进程
Android IPC机制(二)用Messenger进行进程间通信
Android IPC机制(三)在Android Studio中使用AIDL实现跨进程方法调用
Android IPC机制(四)用ContentProvider进行进程间通信
Android IPC机制(五)用Socket实现跨进程聊天程序

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绘制优化(二)布局优化

Android内存优化(一)DVM和ART原理初探
Android内存优化(二)DVM和ART的GC日志分析
Android内存优化(三)避免可控的内存泄漏
Android内存优化(四)解析Memory Monitor、Allocation Tracker和Heap Dump
Android内存优化(五)详解内存分析工具MAT
Android内存优化(六)LeakCanary使用详解

Android架构

Android架构(一)MVP全解析

更多内容见《Android进阶之光》

Android响应式编程

Android响应式编程(一)RxJava前篇[入门基础]

更多内容见《Android进阶之光》

Android事件总线

Android事件总线(一)EventBus3.0用法全解析
Android事件总线(二)EventBus3.0源码解析
Android事件总线(三)otto用法全解析
Android事件总线(四)源码解析otto

####热修复插件化原理
Android热修复原理(一)热修复框架对比和代码修复
Android插件化原理(一)Activity插件化
更多见《Android进阶解密》

Android多线程

Android多线程(一)线程池
Android多线程(二)AsyncTask源码分析
Android多线程(三)AsyncTask源码分析(android7.0)

Android 界面编程

Android 实现广告Banner循环轮播
Android选项卡动态滑动效果
ActionBar-PullToRefresh的使用

Android面试总结加强版

Android面试题总结加强版(一)
Android面试题总结加强版(二)
Android面试题总结加强版(三)
Android面试题总结加强版(四)


3.Flutter

Flutter基础

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的相互通信


4.Java

Java并发编程

Java并发编程(一)线程定义、状态和属性
Java并发编程(二)同步
Java并发编程(三)volatile域
Java并发编程(四)Java内存模型
Java并发编程(五)ConcurrentHashMap的实现原理和源码分析
Java并发编程(六)阻塞队列
Java并发编程(七)ConcurrentLinkedQueue的实现原理和源码分析

Java虚拟机

Java虚拟机(一)结构原理与运行时数据区域
Java虚拟机(二)对象的创建与OOP-Klass模型
Java虚拟机(三)垃圾标记算法与Java对象的生命周期
Java虚拟机(四)垃圾收集算法


5.设计模式

设计模式(一)设计六大原则
创建型模式
设计模式(二)单例模式的七种写法
设计模式(三)建造者模式
设计模式(四)简单工厂模式
设计模式(十)工厂方法模式
设计模式(十三)抽象工厂模式
设计模式(十六)原型模式

结构型模式 (从程序的结构上解决模块之间的耦合问题)
设计模式(六)代理模式
设计模式(七)装饰模式
设计模式(八)外观模式
设计模式(十二)享元模式

行为型模式 (处理类或对象如何交互及如何分配职责)
设计模式(五)观察者模式
设计模式(九)模版方法模式
设计模式(十一)策略模式
设计模式(十四)中介者模式
设计模式(十五)状态模式


6.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组件解析


7.算法

算法(一)时间复杂度
算法(二)初等排序前篇[插入和希尔排序]
算法(三)初等排序后篇[选择和冒泡排序]


8.Swift

Swift快速入门(一)第一个Swift程序
Swift快速入门(二)基本数据类型
Swift快速入门(三)运算符
Swift快速入门(四)流程控制
Swift快速入门(五)集合


这里不仅分享大前端、Android、Java等技术,还有程序员成长类文章。

Android应用开发最强原创知识体系(更新至2019.11.21)相关推荐

  1. 知识体系更新迭代的探索

    各位看官,在人一生的成长过程中,我们要经历启蒙教育.幼儿.小学.中学.高中(中专).大学,甚至到研究生阶段,都是在过程之中不断的学习之中成长.然后走上工作岗位之后,在社会生产过程中开始了在实践的过程中 ...

  2. 入门Java开发,这三大知识体系你要知道

    成为高级的Java开发工程师是每个学Java小伙伴的初衷,高级的Java开发工程师不仅意味着有更好的薪资,更代表着个人在行业中的水平.所谓的高级Java在不同的角度有不同的理解,在小千看来,从Java ...

  3. Android 游戏开发必备的基础知识

    Android游戏开发: View类开发框架 SurfaceView开发框架 Graphics类开发框架 Paint与Color类介绍 Canvas介绍 几何图形绘制 字符串绘制 图像的绘制 图像的旋 ...

  4. Android应用开发相关下载资源(2014/12/14更新)

    Android应用开发相关下载资源 官方终于发布了Android Studio正式版,Android Studio将会成为推荐使用的主要Android开发工具. (1)Android SDK (And ...

  5. Java最强最新知识体系总结(2021版)

    一.Java基础知识 1.基础知识 分类 内容 链接 Java基础 [Java知识点详解 1]缓存 链接1 Java基础 [Java知识点详解 2]动态代理 链接2 Java基础 [Java知识点详解 ...

  6. Android 应用开发---ViewPager----1.相关基本知识

    ViewPager 详解(一)---基本入门 效果图: 实现了三个view间的相互滑动 第一个VIEW向第二个VIEW滑动   第二个VIEW向第三个VIEW滑动    一.新建项目,引入ViewPa ...

  7. Android 虹软SDK人脸识别图文使用说明(更新:2019.5.14)

    因为这篇博客开始写的时候是2018.3,到现在有一年多了,而虹软的sdk发生了很大的变化,所以我这里重新把博客写一遍. 多谢各位看官在这一年对该篇博客的关注. 1.账号注册 首先在虹软开发者网站上注册 ...

  8. 阿里 框架 原声Android,阿里P8大佬亲自教你!你所不知道的Android原生开发的现状,含泪整理面经...

    基本情况 先说一下个人基本情况,计算机科学与技术专业.主要学的Android开发,所以投的岗位都是Android开发工程师.投了知乎,内推了阿里蘑菇街腾讯百度网易.腾讯百度都没有收到面试,知乎Skyp ...

  9. linux内核epub,Android底层开发技术实战详解——内核、移植和驱动(第2版)[EPUB][MOBI][AZW3][42.33MB]...

    内容简介 本书从底层原理开始讲起,结合真实的案例向读者详细介绍了Android内核.移植和驱动开发的整个流程.全书分为21章,依次讲解驱动移植的必要性, Goldfish.OMAP内核和驱动解析,显示 ...

最新文章

  1. Java自带的线程池Executors.newFixedThreadPool
  2. 数据库面试题【十九、count(字段) count(主键 id) count(1)count(*)的区别】
  3. java 构造函数和_Java类和构造函数
  4. phplivechat安卓app下载_掌音教师端下载软件-掌音教师版app下载v1.5.1 安卓官方版...
  5. EMNLP'21 | 让压缩语言模型自动搜索最优结构!
  6. 从UDP/TCP到HTTP/HTTP2,弄清楚网络层面上应该了解的知识。
  7. 《OpenACC并行程序设计:性能优化实践指南》一 3.1 性能分析技术和术语
  8. 面试题 01.07. 旋转矩阵
  9. π-Algorithmist分类题目(1)
  10. php获取内容中第一张图片地址
  11. vs2013配置opencv2.4.13
  12. 怎样调整服务器C盘空间
  13. 如何像“二次元萌妹”小冰一样写诗创作和即兴编曲?
  14. openg 通用扫描画线算法
  15. Leetcode no. 347
  16. 【hadoop生态之Hbase】HBASE简介【笔记+代码】
  17. IBM WebSphere 9.0.5 笔记大全
  18. 【数据分析 R语言实战】学习笔记 第六章 参数估计与R实现(上)
  19. qq修改实名认证已达上限_王者荣耀实名认证系统,怎么二次修改
  20. iscsi 网络存储

热门文章

  1. 计算机的软件和硬盘分区,DM9.57经典分区方法_计算机软件和应用程序_IT /计算机_数据...
  2. VisionPro联合C#编程,康耐视cognex,程序案例 针对VisionPro联合C#框架搭建,封装成独立控件(控件如主图所示)
  3. 港股暴跌719点 成交额超过2000亿港元
  4. 1-20 IO流_2
  5. 每天10分钟——10.22
  6. 转:女孩子必须做的138件事
  7. Juniper SSG 防火墙
  8. MVC、MVVM、RaectiveCocoa的总结
  9. Xiaojie雷达之路---TI实战笔记---对AWR1843+DCA1000采集的数据进行解析
  10. IDEA快速部署WebService