-
微信Android架构历史
-
为何再次重构微信
-
重塑模块化
-
取舍和选择
-
代码之外,架构之内
4.蘑菇街 App
-
蘑菇街 App 的组件化之路
-
实现方式
-
组件生命周期管理
-
壳工程
-
遇到的问题
-
持续集成
-
周边设施
-
小结
蘑菇街 App 的组件化之路·续
-
统一的调用实现
-
通过 Category 来统一组件对外暴露的接口
-
更明确的表述
-
注册这个组件关心的 URL
-
注册这个组件能够被调用的方法/属性
-
在 App 生命周期的不同阶段做不同的响应
-
针对casatwy的一些回应
-
小结
5 爱奇艺 App
-
关于组件化
-
基于Service的IPC通信
-
组件化跨进程通信的核心诉求
-
Andromeda
-
架构分析
6.美团 App
-
外卖客户端容器化架构的演进
-
背景
-
美团外卖业务介绍
-
美团外卖移动端历史架构概述
美团外卖容器化架构全景图
-
什么是容器化架构
-
容器化架构的优势
-
外卖容器化架构全景图
-
容器化的挑战
-
外卖跨端容器建设
-
MRN容器
-
Titans容器
外卖页面容器建设
-
页面容器化设计思路
-
业务构建模块标准化
-
小结
外卖容器化架构的衡量指标
-
容器化架构衡量指标的特点
-
链路指标
-
关键指标
-
外卖容器化架构的监控运维
-
外卖容器化架构的发布能力
-
容器化架构发布体系
-
跟版本发布流程
-
bundle资源发布
-
多种发布能力综合使用
7. 美团Android组件化方案及组件消息总线modular-event实战
-
背景
-
组件化之前的状态
-
组件化方案调研
-
美团其他团队组件化方案调研
-
组件化方案
-
组件化消息总线框架modular-event
-
组件消息总线modular-event的实现
-
消息总线modular-event的结构
-
使用动态代理实现运行时调用
-
订阅和发送的模式
8. 美团Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus
-
背景
-
发布/订阅模式
-
RxBus的出现
-
引入LiveDataBus的想法
-
为什么使用LiveData构建数据通信总线LiveDataBus
-
LiveDataBus的设计和架构
-
LiveDataBus最终实现
-
9.WMRouter:美团外卖Android开源路由框架
-
10.美团猫眼android模块化实战-可能是最详细的模块化实战
11.携程App(篇幅过长,无法展示全部)
12.支付宝 App
…
相信大家都知道安卓应用开发的大量难题,其实最后都需要插件技术去解决。
现今插件技术的使用非常普遍,比如微信、QQ、淘宝、天猫、空间、携程、大众点评、手机管家等等这些大家在熟悉不过的应用都在使用。
插件技术可以给项目开发带来巨大的好处,比如:并行高效开发、模块解耦、解除单个dex函数不能超过65535的限制、动态更新升级、按需加载等等。
掌握好插件技术,需要如下的安卓基础和相关知识,例如:
-
Android应用程序安装,加载过程
-
Android应用运行机制,生命周期调用原理
-
Android应用资源编译打包原理
-
Android应用读取资源原理
-
Android系统AMS、PMS、NMS等系统服务的运作原理
-
增量更新
-
HOOK等技术
本文将从基础的插件化原理到Android插件化初探再到大厂架构演化实战应用,总结出了较为全面与完整的安卓插件技术与插件化对 Android开发的重要性。
1.类加载
2.双亲委托机制
3.资源加载
4.四大组件支持
5 ProxyActivity代理
6 hook方式
7 其他组件
8 Android动态加载框架DL的架构与基本原理解析
9 Android 插件化框架 DynamicLoadApk 源码分析
1.从零开始实现一个插件化框架(1)
-
概念
-
插件化解决的问题
-
各插件化框架对比
-
插件化实现
-
ClassLoader实现类
2.从零开始实现一个插件化框架(2)
-
Activity的启动流程
-
寻找Hook点
-
撸码阶段
-
代理对象
-
偷天换日,替换原来的Intent
-
ActivityThread
-
将代理的intent替换回来
-
注意
3.从零开始实现一个插件化框架(3)
-
插件资源加载
-
Android中资源加载流程
-
ActivityManager
-
ActivityThread
-
AppCompatActivity
-
总结
1.360插件开发之DroidPlugin
-
插件开发之360 DroidPlugin源码分析
-
Hook机制类图关系
-
Hook机制的时序图关系
-
Manifest权限申请
-
基类Hook做了什么?
-
ProxyHook
-
BaseHookHandle
-
HookedMethodHandler
-
ReplaceCallingPackageHookedMethodHandler
-
IO重定向
-
递归遍历
-
以IPackageManager为例
-
插件开发之360 DroidPlugin源码分析之Binder代理
2. 滴滴VirtualApk实战
-
配置
-
应用
-
原理
-
总结
-
问题
3.基于VirtualAPK Android重构之插件化
-
Plug-in Hello World
-
插件化框架的选择
-
插件化原理
最后我想说
为什么很多程序员做不了架构师?
1、良好健康的职业规划很重要,但大多数人都忽略了
2、学习的习惯很重要,持之以恒才是正解。
3、编程思维没能提升一个台阶,局限在了编码,业务,没考虑过选型、扩展
4、身边没有好的架构师引导、培养。所处的圈子对程序员的成长影响巨大。
金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
3.基于VirtualAPK Android重构之插件化
-
Plug-in Hello World
-
插件化框架的选择
-
插件化原理
最后我想说
为什么很多程序员做不了架构师?
1、良好健康的职业规划很重要,但大多数人都忽略了
2、学习的习惯很重要,持之以恒才是正解。
3、编程思维没能提升一个台阶,局限在了编码,业务,没考虑过选型、扩展
4、身边没有好的架构师引导、培养。所处的圈子对程序员的成长影响巨大。
金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
[外链图片转存中…(img-5QUHAVVx-1643518036304)]
里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…