作为 Android 利用开发者, 除了把以后利用做好外, 纵向的技术深度与横向的技术广度也要继续钻研学习, 合纵连横方能立洪流而不倒! 任何研发岗位大多数都要求一精多专, 常见的招聘需要上 ” 精通 …” 其实是心愿候选人有扎实的技术深度, 其次是技术广度, 上面列出我本人的钻研学习路线
Java
在 Android 利用中应用的 Java 技术外围次要是围绕数据结构、多线程并发、设计模式、文件读写、反射注解以及 GC 垃圾回收和 jvm 调优, 如下图所示
Android 利用
Android 利用波及的技术点零散繁冗, 须要每一位 coder 都有本人的常识结构图, 除此之外第三方优良框架源码、组件化、插件化、热修复等动态化工程技术也须要了解把握, 钻研学习其中的设计思维, 如下图所示
Flutter 跨平台
以闲鱼技术团队为代表的 Flutter 技术利用领跑者目前曾经积淀很多内容, 能够在 GitHub\ 闲鱼公号 \ 闲鱼博客之类前去探寻, 其它技术团队也都在 module 或者局部新产品开始尝试接入 Flutter, 新技术都是在一直实际验证、修复问题的路线上进行欠缺,Flutter 中文网的作者也是实际该技术的大牛, 如下图所示 Flutter
细节原理还是很繁冗的, 须要不断深入了解学习, 目前还在摸索中 …
JNI-NDK
区别于 Android SDK 基于 Java 语言,Android 中的 NDK 基于 C /C++, 咱们能够把 C ++ 编写的代码通过 NDK 工具生成对应平台反对的文件, 例如在 Android 中常见引入第三方的.so 文件, 在图片压缩解决、数据加密、日志记录、音视频流解决等场景下 C ++ 的效率要比 Java 高得多,native 层波及 C /C++ 语法, 如下图所示
OpenGL ES
OpenGL ES 是跨平台的用于绘制 2D/3D 图形的接口 API, 在美颜相机、视频帧解决、图片解决等场景上利用宽泛, 波及的专有概念比拟多, 门槛也绝对比拟高, 如下图所示
音视频利用
Android 音视频利用是绝对独立的技术畛域, 目前市面上的短视频、直播等 app 都会用到相干技术, 常见的音视频录制、播放、直播推流拉流等, 如下图所示
Apk 逆向加固
Android apk 的逆向与加固相爱相生, 反编译也会用到 apktool、dex2jar、jd-gui 等工具, 逆向、加固须要实战经验与较强的代码跟踪剖析能力, 个别利用可能是基于代码混同 +NDK 加密 + 三方加固工具以晋升反编译难度, 如下图所示
须要不断深入了解学习, 目前还在摸索中 …
Android 利用架构设计
如果你感觉以上技能剑谱钻研的小有所成, 那就开始摸索 Android 利用架构设计, 学习 Linux 内核原理,framework 层工作原理, 钻研 Google 开源的 Clean 架构、Jetpack 系列架构组件, 组件化 / 插件化框架设计, 从更高的层面去解决理论问题
算法
数据结构与算法是技能剑谱修炼晋升的一大法宝, 学习钻研惯例算法能够去 LeetCode、剑指 offer、牛客网以及其它博客书籍等, 目前还在钻研中 …
其它 Coding 相干
Gradle 插件设计、技术方案设计、英语学习
奉献开源社区
GitHub 公布开源我的项目,StackOverflow 解答疑难, 开源我的项目提交 PR、issue 等
内容阐明
每个人都有本人钻研学习的方向与办法, 而且在掘金、简书、集体博客上都有有数优良的文章对以上列出的【技术要点 】深度分析, 所以不作细节形容, 留给每位读者自行摸索, 以上列出的受限于集体技术把握水平还不够全面, 可在下方评论区留言以补全【 技能剑谱 】, 至臻感激!
博客、开源我的项目链接
以上技能要点, 波及我的开源我的项目如下
-
AudioCapturePlay
音频录制转码播放
-
AudioVideoCodec
音视频录制合成
-
MannaComponent
Jetpack 系列组件化
-
OpenGL
OpenGL ES 学习
湖广午王博客文章
OpenGL 学习博客