该怎么学Android进阶,拒绝沦为高级三方SDK调用工程师?

一、前言

前面一篇文章写了2025年Android六边形战士开发趋势,需要掌握哪些技能可自我反省,其实也没有完全讲完。它还有框架篇,架构篇。但是要单单从技术上面把这两点深入掌握,需要相当的基础功底。至少,我前一篇里面提到的:

  1. Android开发必备技能
  2. Framework的理解
  3. 性能优化 这三点必须要深入掌握才行。
    才能不被沦为高级三方SDK调用工程师

那我们先来聊聊框架篇,沦为高级三方SDK调用工程师的表现有哪些,可能开发者在初级阶段,或者初中级阶段,或者开发年限混得比较久的伪高级都有这种。比如,我们要开发一个App:

  1. 网络框架选Retrofit+Okhttp
  2. 数据库选Room,或者GreenDao
  3. 本地存储Key-ValueMMKV
  4. 下拉刷新选择SmartRefreshlayout
  5. 组件化选择阿里Arouter
  6. 异常上报监控旋转腾讯Bugly或者其他等
  7. 音视频播放选择Exoplayer或者其他等
  8. 图片加载框架选择Glide
  9. 动画选择lottie
  10. 异步任务处理流采用RXJava或者Flow
  11. 图标库采用MPAndroidChart
  12. 直播IM采用某XXX公司的SDK

看上面这些,完全没有错啊,用这些也没有错啊,但是只会用这些,不理解里面核心部分,或者不能自己撸轮子,是想要走到高级去,那这样是肯定不行了。没有哪一个高级工程师敢声称自己达到高级所掌握的技术范围是只会使用这些三方sdk的api的。

其实现在Android开发已经相对早期好太多了,大多数轮子都已经被人造出来了。android 三方已经有很多轮子了,android 自己早前的v4,v7,v13 supoort也有很多轮子,到现在,Android 官方Jetpack 库里面本来就自带了很多轮子。经历过Android 1.6, Android2.1, Android 2.2, Android 2.3开发的都知道,那时候是没有轮子的,比如:网络框架得自己封装好没有轮子,图片异步加载也是得自己造轮子,没有轮子,下拉刷新也没有的得自己写,就连早期没有v4,就没有viewpage,左右滑动翻页得自己写。早期的夜间模式得自己想思路自己写,现在的换肤框架,兼容不了之前的。

现在有这么多轮子了:如果想成为高级,还得深入理解, 理解的程度要达到自己能撸一个的水平

二、框架理解有哪些,对应哪些技术

  1. 研究Retrofit:理解动态代理,注解,反射,学习它所用到的设计模式,达到自己能手写它的核心实现
  2. 研究Okhttp:理解它的请求如何共享同一个Socket,内置连接池,连接复用,gzip压缩,响应缓存,自动重试,底层OKIO,所设计到的模式,尤其是拦截器部分的责任链模式
  3. GreenDao,Romm,掌握对象映射,自动生成代码系列,相关 apt,kapt,ksp,spi相关机制等
  4. MMKV,掌握Protobuf, mmap,关联binder跨进程通信 只copy一次原理
  5. SmartRefreshlayout,掌握自定义view,和它的设计思路
  6. Arouter:掌握路由原理,及ASM字节码插桩
  7. Bugly:掌握崩溃,异常捕获,能自定义Thread.UncaughtExcerptionHandler处理异常方案及对traces.txt文件监控方案并分析
  8. Exoplayer掌握音视频的硬解码,缓存处理,能手写它
  9. glide深入理解它的三部分,with部分,注册编码器,管理请求和生命周期监听,load部分,每个请求单独配置option,into部分,启动请求,加载数据,对数据解码,转码,缓存数据,显示数据
  10. RxJava,掌握它背压模式,观察者模式,如何切换线程,能手写它
  11. MPAndroidChart:掌握android 画布绘制原理,能自己绘制各种图表
  12. 直播IM的SDK,掌握音频 视频,编码,解码 原理,rtmp,rtsp推拉流等

三、架构理解

Android端架构篇应该学哪些?简单以下几点

  1. 前言里面三点必须要深入掌握才行
  2. 针对项目模块分: 才有模块化,组件化,插件化
  3. 针对模块内部代码架构才是 MVC,MVP,MVVM,MVI等。
  4. 2和3的选型问题,根据预算时间,金钱,人员成本,综合考虑,选型问题。
  5. 技术方案定制相关等

总结

本文重点介绍了,怎么避免沦为高级三方SDK调用工程师?学些三方框架应该掌握它里面的哪些技术,或者思路

架构的简单理解。

感谢阅读:

欢迎用你发财的小手 关注,点赞、收藏

这里你会学到不一样的东西

相关推荐
JMchen12318 小时前
现代Android图像处理管道:从CameraX到OpenGL的60fps实时滤镜架构
android·图像处理·架构·kotlin·android studio·opengl·camerax
快点好好学习吧19 小时前
phpize 依赖 php-config 获取 PHP 信息的庖丁解牛
android·开发语言·php
是誰萆微了承諾19 小时前
php 对接deepseek
android·开发语言·php
Dxy123931021620 小时前
MySQL如何加唯一索引
android·数据库·mysql
Jing_jing_X21 小时前
CPU 架构:x86、x64、ARM 到底是什么?为什么程序不能通用?
arm开发·架构·cpu
冠希陈、1 天前
PHP 判断是否是移动端,更新鸿蒙系统
android·开发语言·php
qq_177767371 天前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
小程故事多_801 天前
深度搜索Agent架构全解析:从入门到进阶,解锁复杂问题求解密码
人工智能·架构·aigc
晚霞的不甘1 天前
Flutter for OpenHarmony从零到一:构建《冰火人》双人合作闯关游戏
android·flutter·游戏·前端框架·全文检索·交互
2601_949833391 天前
flutter_for_openharmony口腔护理app实战+饮食记录实现
android·javascript·flutter