作品简介

《Android进阶解密》是一本Android进阶书籍,主要针对Android 8.0系统源码并结合应用开发相关知识进行介绍。《Android进阶解密》共分为17章,从3个方面来组织内容。第一方面介绍Android应用开发所需要掌握的系统源码知识,第二方面介绍JNI、ClassLoader、Java虚拟机、DVM&ART虚拟机和Hook等技术,第三方面介绍热修复原理、插件化原理、绘制优化和内存优化等与应用开发相关的知识点。3个方面有所关联并形成一个知识体系,从而使Android开发者能通过阅读本书达到融会贯通的目的。

《Android进阶解密》适合有一定基础的Android应用开发工程师、Android系统开发工程师和对Android系统源码感兴趣的读者阅读。

刘望舒,资深开发工程师,Android进阶二部曲《Android进阶之光》《Android进阶解密》的作者,公众号“刘望舒”的作者,CSDN人气博主。他在博客中构建了“Android相关原创知识体系”,该体系全面且深入并广获好评。他拥有近10年的开发经验和多年的技术管理经验,对Android框架层及应用层开发有着独到、深入的理解。

作品目录

  • 前言
  • 第1章 Android系统架构
  • 1.1 Android系统架构
  • 1.2 Android系统源码目录
  • 1.3 源码阅读
  • 1.4 本章小结
  • 第2章 Android系统启动
  • 2.1 init进程启动过程
  • 2.2 Zygote进程启动过程
  • 2.3 SystemServer处理过程
  • 2.4 Launcher启动过程
  • 2.5 Android系统启动流程
  • 2.6 本章小结
  • 第3章 应用程序进程启动过程
  • 3.1 应用程序进程简介
  • 3.2 应用程序进程启动过程介绍
  • 3.3 Binder 线程池启动过程
  • 3.4 消息循环创建过程
  • 3.5 本章小结
  • 第4章 四大组件的工作过程
  • 4.1 根Activity的启动过程
  • 4.2 Service的启动过程
  • 4.3 Service的绑定过程
  • 4.4 广播的注册、发送和接收过程
  • 4.5 Content Provider的启动过程
  • 4.6 本章小结
  • 第5章 理解上下文Context
  • 5.1 Context的关联类
  • 5.2 Application Context的创建过程
  • 5.3 Application Context的获取过程
  • 5.4 Activity的Context创建过程
  • 5.5 Service的Context创建过程
  • 5.6 本章小结
  • 第6章 理解ActivityManagerService
  • 6.1 AMS家族
  • 6.2 AMS的启动过程
  • 6.3 AMS与应用程序进程
  • 6.4 AMS重要的数据结构
  • 6.5 Activity栈管理
  • 6.6 本章小结
  • 第7章 理解WindowManager
  • 7.1 Window、WindowManager和WMS
  • 7.2 WindowManager的关联类
  • 7.3 Window的属性
  • 7.4 Window的操作
  • 7.5 本章小结
  • 第8章 理解WindowManagerService
  • 8.1 WMS的职责
  • 8.2 WMS的创建过程
  • 8.3 WMS的重要成员
  • 8.4 Window的添加过程(WMS处理部分)
  • 8.5 Window的删除过程
  • 8.6 本章小结
  • 第9章 JNI原理
  • 9.1 系统源码中的JNI
  • 9.2 MediaRecorder框架中的JNI
  • 9.3 数据类型的转换
  • 9.4 方法签名
  • 9.5 解析JNIEnv
  • 9.6 引用类型
  • 9.7 本章小结
  • 第10章 Java虚拟机
  • 10.1 概述
  • 10.2 Java虚拟机结构
  • 10.3 对象的创建
  • 10.4 对象的堆内存布局
  • 10.5 oop-klass模型
  • 10.6 垃圾标记算法
  • 10.7 Java对象在虚拟机中的生命周期
  • 10.8 垃圾收集算法
  • 10.9 本章小结
  • 第11章 Dalvik和ART
  • 11.1 Dalvik虚拟机
  • 11.2 ART虚拟机
  • 11.3 DVM和ART的诞生
  • 11.4 本章小结
  • 第12章 理解ClassLoader
  • 12.1 Java中的ClassLoader
  • 12.2 Android 中的ClassLoader
  • 12.3 本章小结
  • 第13章 热修复原理
  • 13.1 热修复的产生
  • 13.2 热修复框架的种类和对比
  • 13.3 资源修复
  • 13.4 代码修复
  • 13.5 动态链接库的修复
  • 13.6 本章小结
  • 第14章 Hook技术
  • 14.1 Hook技术概述
  • 14.2 Hook技术分类
  • 14.3 代理模式
  • 14.4 Hook startActivity方法
  • 14.5 本章小结
  • 第15章 插件化原理
  • 15.1 动态加载技术
  • 15.2 插件化的产生
  • 15.3 插件化框架对比
  • 15.4 Activity插件化
  • 15.5 Service 插件化
  • 15.6 ContentProvider 插件化
  • 15.7 BroadcastReceiver的插件化
  • 15.8 资源的插件化
  • 15.9 so的插件化
  • 15.10 本章小结
  • 第16章 绘制优化
  • 16.1 绘制性能分析
  • 16.2 布局优化
  • 16.3 本章小结
  • 第17章 内存优化
  • 17.1 避免可控的内存泄漏
  • 17.2 Memory Monitor
  • 17.3 Allocation Tracker
  • 17.4 Heap Dump
  • 17.5 内存分析工具MAT
  • 17.6 LeakCanary
  • 17.7 本章小结
  • 反侵权盗版声明
展开全部