作为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等

内容阐明

每个人都有本人钻研学习的方向与办法,而且在掘金、简书、集体博客上都有有数优良的文章对以上列出的【技术要点】深度分析,所以不作细节形容,留给每位读者自行摸索,以上列出的受限于集体技术把握水平还不够全面,可在下方评论区留言以补全【技能剑谱】, 至臻感激!

博客、开源我的项目链接

以上技能要点,波及我的开源我的项目如下

  1. AudioCapturePlay

    音频录制转码播放

  2. AudioVideoCodec

    音视频录制合成

  3. MannaComponent

    Jetpack系列组件化

  4. OpenGL

    OpenGL ES学习

湖广午王博客文章

OpenGL学习博客