Android 高级开发的技术大纲

整理了一份 Android 高级开发的技术大纲,如有遗漏和不足,欢迎指出和补充。
为了方便查看,大家可以查看xmind版图片:


高级开发路线规划.png

UI 绘制

UI绘制流程以及原理

  • Android xml布局绘制到屏幕的原理
  • Android 系统卡顿原理以及VSYNC信号机制

自定义View

  • Paint & Canvas
  • 贝塞尔曲线
  • Camera几何变换和原理
  • 测量和布局
  • 硬件加速
  • PathMeasure

属性动画

  • 属性动画源码分析
  • TypeEvaluator源码分析和定制
  • 自定义复杂动画

事件传递机制

  • 事件分发详解
  • 解决嵌套滑动问题

屏幕适配

  • 自定义像素适配
  • 百分比适配
  • 修改系统density、densityDPI适配
  • 刘海屏适配

其他

  • Material design

    • 交互设计规范
    • 组件熟悉和使用
    • CardView源码分析
    • CoordinatorLayout实现原理和高级用法
    • 自定义RecyclerView以及优化
  • SVG的用法和原理

  • 阿里VLayout原理

NDK 开发

C/C++相关

  • Linux内存布局原理、指针分析
  • 结构体、共同体
  • so动态库的设计和编译
  • 命名空间、C++混合编程、函数扩展
  • C++编译器对象管理模型分析
  • C++类型转换、操作符重载
  • IO和异常处理
  • 容器、对组、对象管理、类的构造和析构、友元函数

NDK编译原理和语法详解

  • MakeFile语法详解

    • 静态库与动态库原理和编译流程
    • MakeFile文件走读
    • 编译、链接、处理程序
    • MakeFile语法
    • 预定义变量和宏函数
  • Cmake详解

    • Cmake编译so库过程
    • Cmake与MakeFile的区别
    • Cmake语法详解
    • CmakeList.txt文件构成详解
  • Shell语法详解

    • 语法详解
    • 方法参数传递机制
    • Shell脚本编写和执行编译ffmpeg库

短视频热门技术实现

  • 音视频处理
    • FFmpeg集成
    • 音视频编码原理
    • 音视频解码、音视频同步处理
    • 音视频采集与编码
    • 直播推流的原理及实现
  • 音视频特效
    • 人脸美化
      • 熟悉OpenGL
      • 人脸磨皮、美白算法
      • 图像处理
      • 人脸关键点检测
      • 人脸贴纸
      • 大眼瘦脸
    • 其他
      • 仿抖音灵魂出窍、幻影抖动
      • 音视频合成原理

OpenCV

  • opencv原理详解、结构体、颜色通道
  • Android studio 通过 Cmake 配置opencv开发环境
  • opencv实现车牌号码检测与识别、人脸识别
  • opencv其他应用

webRTC

  • WebRTC详解
  • 实现点对点通信原理
  • 实现内网通信的穿透机制原理
  • 实现视频通话

其他

  • 阿里andfix热修复和Sophix原理分析
  • Java方法在Davik和Art虚拟机运行原理
  • 利用系统源码实现GIF播放
  • bsdiff实现增量更新

架构

设计模式

  • AOP面向切面编程(集中式登录架构设计)
  • Handler+Message源码分析和手动实现
  • Binder原理
  • PMS源码分析和apk安装原理
  • AMS源码分析和架构设计
  • App启动流程源码解析

应用架构

  • MVC思想和优化
  • MVP思想以及实际应用、优化
  • MVVM与databinding
  • Google android architecture架构分析
  • databinding原理与编译时绑定布局和数据原理

应用换肤技术

  • 动态式换肤详解(QQ、美团、网易云音乐等)
  • 手动实现动态换肤框架(字体、状态栏、自定义空间、fragment)
  • 编译式换肤详解(高德地图、今日头条)
  • 定制高扩展性换肤框架、多种动态皮肤加载与替换

组件化

  • 主流实现方式分析
  • Android项目组件化配置
  • 手写集中式路由管理(ARouter)
  • 组件化打包发布

插件化

  • 主流几种插件化实现方式
  • 手动实现插件化架构(RePlugin)
    • activity启动流程及hook
    • 插件化架构设计、稳定性
    • 广播插件化实现、apk安装原理
    • Android系统启动时加载app中so库流程
    • 手写宿主管理插件系统架构(360插件式)
  • Android9.0插件化解决@hide修饰的api问题
  • 手写dlsym完成对libart.so解析
  • IDA工具反编译so,寻找hook点
  • hook虚拟机类加载器

事件总线框架

  • EventBus源码与架构分析
  • 手写事件总线实现(跨进城)
  • 饿了么进程通信框架Hermes分析
  • fastjson实现对象在多进程共享

数据库框架设计

  • ORMLite核心架构分析
  • 面向对象式数据库架构设计
  • 实现数据库分库(多群组、多用户、多权限)如QQ
  • xml脚本打造数据库全量升级

网络请求框架实现

  • 网络层分析和TCP/IP详解
  • okhttp源码分析和架构揭秘
  • http与https分析
  • okhttp任务队列架构设计
  • socket连接池复用机制详解
  • 拦截器责任链模式实现重连、源码分析、协议解析等
  • 手动实现完整网络请求框架

图片加载框架实现

  • Glide源码分析和设计思维(生命周期、缓存设计)
  • 建造者模式链式调用
  • 请求队列、转发、加载器、加载策略、缓存策略实现
  • LruCache和DiskLruCache源码分析
  • 手动实现完整图片加载框架

Rxjava

  • rxjava架构分析和源码分析
  • 高阶泛型和泛型变换
  • 链式调度、事件变换、线程切换、订阅模式实现

IOC框架设计

  • ButterKnife源码分析
  • Java文件结构化文本详解
  • Dragger2源码分析和原理实现
  • APT注解手动实现依赖注入式框架
  • 手写依赖注入框架,component实现依赖者与被依赖对象绑定

其他

  • 手动实现编译时期Android动态权限申请框架
  • 动态代理机制实际运用(retrofit)

性能优化

基础

  • app启动原理,冷启动、热启动,启动时间检测
  • app启动白屏优化
  • Doze与Studby模式介绍与兼容和Job Scheduler源码详解
  • AsyncTask源码详解、ThreadPool线程池原理
  • Handler机制

内存泄漏分析

  • 原因和如何避免
  • 布局渲染流程和原理
  • 过度渲染分析和优化(Lint、MAT、TraceView等工具)
  • LeakCanary 源码分析以及内存泄漏检测原理
  • 内存管理机制(gc回收机制原理)
  • 后台服务优化
    • 如何保障服务的常驻内存
    • 双进程守护
  • 多线程并发的性能问题
    • 阻塞式队列详解
    • 锁机制原理分析与竞争锁
    • 原子锁、对象锁以及NIO、BIO区别和应用
  • 微信的哈夫曼算法打造的无损压缩技术
  • 解决微博长图、大图加载的问题
  • webp详解和应用
  • Android系统耗电优化
  • apk文件优化
    • Protocol Buffer数据交换格式
    • Protocol Buffer二进制序列化与反序列化
    • 文件压缩与解压--7zip库的移植和使用
    • 冗余代码分析和apk极限压缩
    • 防反编译和加固技术的实际操作应用

应用安全

  • dex文件编译原理
  • 混淆详解(在app生成时流程以及mutlidex原理)
  • https防抓包机制(拒绝hook)
  • Dex加密与反编译(app加固)
  • 数据传输加密(服务端与客户端双向加密校验)

欢迎大家加入Android集中营,一起探讨技术:601924443

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269