课程背景
如今,国内移动互联网的红利期已过,Android 开发工程师也从最初的一人难求,到现在的一个岗位百人竞争,僧多粥少的情况直接导致整个行业对求职者的要求越来越高。
另外,Android 开发越来越规范,间接导致项目对质量要求的提升。内存优化、UI 卡顿优化、App 崩溃监控等性能调优也逐渐成了人手必备的技能。
只有不断提升自己的技术实力,让自己进阶为「高级/资深工程师」,你才有机会爬上 Android 的峰顶。
专栏解读
本专栏,从 BAT 等各大互联网公司的常见面试题展开,详细剖析知识点,并拓展介绍其在项目中的实战使用情况,帮你重新梳理和建立 Android 开发的知识体系。
无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这个课程中有所收获。
从底层能力开始,分了 4 个模块来逐步进阶到实战环节:
① JVM 必知必会: 通过介绍 JVM 和 DVM ,使你对 Java 字节码与 Dalvik 字节码的执行机制有一定的理解。
② Android 核心技术: 介绍 Android 开发中常用的核心技术,比如自定义 View、Handler,以及一些开源框架的原理实现,来夯实的你的底层能力。只有底层能力足够出色,之后的进阶之路才能更轻松。
③ 源码分析: 通过剖析部分 Android Framework 源码,使你对 Activity 启动、APK 安装过程等流程了然于胸。
④ 常见问题剖析: 介绍一些项目中常见的疑难问题,使你能够对现有项目做出合理的重构优化。
专栏用“知识点 + 项目实践”的讲解方式,侧重总结工作上的实践经验,并和你分享一些疑难问题的解决思路,让你在以后的工作中,能够有方法论的指导。
此外,技术内容终归过于抽象,为了方便你更直观地理解课程内容,课程中会采用大量图示来解释某一原理或者工作流程,并在专栏中穿插大量诸如 ASMDemo 、DexClassLoaderHotFix 等代码案例,一步步告诉你,如何将学到的底层原理应用到实际项目中。
专栏目录
模块一:JVM 与 DVM 必知必会
第01讲:程序运行时,内存到底是如何进行分配的?
第02讲:GC 回收机制与分代回收策略
第03讲:字节码层面分析 class 类文件结构
第04讲:编译插桩操纵字节码,实现不可能完成的任务
第05讲:深入理解 ClassLoader 的加载机制
第06讲:Class 对象在执行引擎中的初始化过程
第07讲:Java 内存模型与线程
第08讲:既生 Synchronized,何生 ReentrantLock
第09讲:Java 线程优化 偏向锁,轻量级锁、重量级锁
第10讲:深入理解 AQS 和 CAS 原理
第11讲:线程池之刨根问底
第12讲:DVM 以及 ART 是如何对 JVM 进行优化的?
模块二:Android 核心技术
第13讲:Android 是如何通过 Activity 进行交互的?
第14讲:彻底掌握 Android touch 事件分发时序
第15讲:Android 如何自定义 View?
第16讲:为什么 RecyclerView 可以完美替代 Listview?
第17讲:Android OkHttp 全面详解
第18讲:Android Bitmap 全面详解
模块三:Android 源码分析
第19讲:startActivity 启动过程分析
第20讲:底层剖析 Window 、Activity、 View 三者关系
第21讲:Android 如何通过 View 进行渲染?
第22讲:Android App 的安装过程
第23讲:15 分钟彻底掌握 Handler
模块四:实战常见问题剖析
第24讲:APK 如何做到包体积优化?
第25讲:Android 崩溃的那些事儿
第26讲:面对内存泄漏,如何进行优化?
第27讲:面对 UI 卡顿,如何入手分析解决问题?
第28讲:Android Gradle 构建问题解析
第29讲:MVP 中 presenter 生命周期的管理
第30讲:如何设计一个比较合理的 LogUtil 类?
第31讲:Android 屏幕适配的处理技巧都有哪些?
第32讲:解析动态权限适配遇到的问题
第33讲:对于网络编程,你做过哪些优化?
第34讲:混合开发真的适合你吗?