很多 Android 开发者已经度过了初级、中级,如何成为一个 Android 高手呢?
众所周知;大多数程序员的晋升路径无非以下几种:
那 Android 开发者该如何提升自己?
说说我的两点建议:
横向发展
在自己擅长领域深入钻研的同时,会 Hybrid 开发(Flutter,RN,H5)之外,会 web 开发、微信小程序等,再过 5 年你也完全不用担心找工作。但是,这确实比较难,全栈容易发展成全菜,就是啥都知道,啥都不精!
纵向发展
如果做应用开发,就往应用架构方向发展;如果做系统层开发,就钻研底层驱动。
可以从以下这些方面进行学习:
移动架构:
- 架构展示层: MVC、MVP、MVVM、Android Architecture Components;
- 架构层: 模块化->组件化->插件化->沙盒/双开技术;
基础进阶:
- 比如高级自定义 View、Android Framework 层原理, App 管理机制等等
- JNI 和 NDK 开发也是比较常见,5G 来了,招聘单位都在给自己公司规划小视频功能,然而我们却连 NDK 都不懂
学习开发语言:
比如 Kotlin,做底层 C/C++ 是必不可少的,还有一个最容易忽略的 Java 语言本身的高级面向对象思想;
源码:
看懂并且熟悉源码,熟悉其实现原理,争取做到能自己二次封装三方库。
但对于很多初中级 Android 工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助
在深耕技术前,首先要给自己制定一个成长曲线图,按照路线来合理的学习;不要东拼西凑的去学,那就是在浪费自己的时间,而且很容易忘去;下面是对标腾讯 T10 级 Android 高级进阶学习路线,为了让你能够告别繁琐的技术需求而制定,里面记录的都是 Android 工程师必备技能和现主流技术的学习成长路线
希望以下的学习路线能对你有帮助
对标腾讯 T10 级 Android 高级工程师成长曲线图
这套 对标腾讯 T10 级 Android 高级工程师成长曲线图 也对其配套了一份学习手册;这里面包括了从接触互联网的基础内容开始,再到了解一部分如 Java 基础,Android 基础的语言,最后进行学习其他底层,NDK、跨平台的相关技术知识;相信可以给大家提供一些帮助,有需要的朋友们也可以领取一下,随时查漏补缺;需要完整版的朋友,可以私信发送 "进阶" 即可 直达获取
工程师必备基础技能
- 架构设计必入技能-泛型、注解
- 架构动态编程技术原理
- Android 虚拟机指令
- Android 虚拟机垃圾回收
- Android 虚拟机类和对象的结构
- 并发内存模型
- synchronize 机制
- 深入并发原理之线程池
- 高效数据序列化
工程师核心优化能力
- 启动优化
- 内存优化
- 启动速度优化
- 卡顿优化
- 布局优化
- 崩溃优化
- Android 应用启动全流程分析
Framework 于 Android 内核系统信息
- Framework 通信
- Android Binder
- Android Handler
- Framework 底层服务
- Android Framework 源码解析 AMS、PMS IMS WMS 及绘制流程
- Framework 事件分发机制
Android 音视频工程师
- 通过三种方式绘制图片
- 使用 Audio Record 采集音频 PCM 并保存到文件
- 使用 Audio Track 播放 PCM 音频
- MPEG-4/H,264 AVC 编解码标准
- AAC 音频编解码技术全解
- 流媒体协议RTMP 多媒体文件格式 MP4 FLV M3U8 PCM WAV
- FFmpeg 命令行工具全面阐述
Android 资深架构师
- 架构师通用技能
- 网络访问
- 图片加载
- 注入解耦
- 架构师必备设计思想
- 数据库管理框架
Android 车载工程师
- 开发汽车媒体应用
- 构建 Android Auto 即时通信应用
- 构建车载导航和地图注点应用
- 测试 Android 车载应用
- 分发 Android 车载应用
- Android Auiomotivs OS 通知服务
Flutter 高级工程师
- Flutter 之环境搭建
- Flutter 之 初始 Dart
- Flutter 之 Dart 语法基础
- Flutter 之集合、控制流程
- Flutter 之函数、类继承、异步操作、弹框、网络请求
- Flutter 之基本布局、容器、组件、列表
有需要这份 Android 高级架构师进阶路线及学习笔记 的朋友:可以私信发送 “进阶” 即可 直达获取
好了,以上便是今天的分享,希望为各位朋友后续的学习提供方便。觉得内容不错,也欢迎多多分享给身边的朋友哈