《深入理解Java虚拟机》、《Effective Java》
Android相关的书籍包括《Android权威编程指南》、《Android开发艺术探索》等,《Android源码设计模式解析与实战》等书籍,对阅读源码大有裨益。
当然,要让自己成为高级工程师,不仅仅需要自己具备性能调优的能力,其实学习的内容还有很多。还需要对Java(Kotlin)语言熟练掌握/Android SDK原理源码深入理解/高级UI绘制能力/Android热门技术/C与C++语言能力/NDK开发能力/hybrid开发(Flutter)/小程序编写能力。因为不同行业不同项目需要学习进阶的技能都不一样,要是要在细分领域找准方向!
初级:
比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画等常见技术
中级:- AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的区别; - Binder:从Java层大概理解Binder的工作原理,懂Parcel对象的使用; - 多进程:熟练掌握多进程的运行机制,懂Messenger、Socket等; - 事件分发:弹性滑动、滑动冲突等; - 玩转View:View的绘制原理、各种自定义View; - 动画系列:熟悉View动画和属性动画的不同点,懂属性动画的工作原理; - 懂性能优化、熟悉mat等工具 - 懂点常见的设计模式
高级:技术要求