【张涛】优雅移除模块间耦合

嘉白夏

2017/12/31 发布于 技术 分类

2017年,droidcon 第2次来到中国,并将于2017年11月在北京盛大开幕。参会人群包括业界领袖、技术大咖、技术开发者、大众创业者及领域从业者。大会将邀请来自Google、微软、Facebook、Ebay、Intel、Telenav、阿里巴巴、腾讯、小米、乐视、联想等国内外安卓技术与应用领域的大咖,沿袭历年国际大会特色,聚焦行业最前沿技术,碰撞切磋技术火花。

文字内容
1. 优雅 移除模块间耦合 Zhang Tao
2. 张涛 饿了么 Android 微博:kymjs张涛 blog:开源实验室
3. 删除 组织 歚䧏㴂⨸◷ 降级 解耦
4. 模块化前 1677 个 .java ⽂件 ━楅 693 drawable⽂件 模块化后 1543 个 .java ⽂件 538 drawable⽂件
5. 冥冨
6. 椮冈 Navigator User Router Shop
7. 峄匇 䨀㹄䥥冥⇗◷猾 ⭿⒰㴂⨸⇄䫢槗㠚▉
8. 峄匇䨀㹄䥥冥⇗◷ if (DEBUG_MODE) {
 compile project(':debug') } else { compile project(':tinker') }
9. IronBank 铁金库
10. ↡℩㤐51# 我对外提供 媒体服务 交给我吧 我需要 媒体服务 服务提供方 IronBank 拿去用 我这能提供 服务使用方
11. +TQP$CPM㧮▂≠䠉㢚 IMedia m = new MediaManager(); IMedia m = IronBank.get(IMedia.class);
12. +TQP$CPM㧮▂㚱≼㢚 @Creator
 public static IMedia getInstance() {
 return new MediaManager();
 }
13. +TQP$CPM儢㨣䥥ㅵ䠉⨛㥐 @Creator
 public static IMedia getInstance (String tag, Context context) {
 //...
 }
14. +TQP$CPM儢㨣䥥ㅵ䠉⨛㥐 @Creator(params= {Context.class, String.class})
 public static IMedia getInstance (String tag, Context context) {
 //...
 }
15. APT Annotation Processing Tool
16. public class Creator_$$ implements Interceptor { public T interception(Class clazz) { T obj = null; if (IMedia.class.equals(clazz)) { obj = (T) MediaManager.getInstance(); } return obj; } }
17. ⇹◷≠䠉∴浭 参数类型校验 避免循环引用 参数智能补全 代码自动生成
18. +TQP$CPM䥥▀叞 对象⽣成 对象缓存 单例对象