代码中我们常以MVP 或者 MVVM来实现,这里不再说了,现在我们来谈谈同步框架:
以Activity生命周期为例,使用EventBus来实现
OnCreate->初始化UI
OnStart->注册事件->同时从本地文件中加载数据(数据库、pref等)
OnEvent->事件监听函数-刷新数据
OnStop->注销事件
1. UI通过备份的Model来渲染
2. APP逻辑(同步)主要负责处理服务端与Model的同步逻辑(比如从服务端获取到数据,缓存在本地,并且通知UI更新)
两者不互相依赖,通过发送事件的方式通知UI更新
APP逻辑(同步):
1. 使用依赖注入优化 Dagger2
2. 避免使用反射
实现局部,全局同步的原则
内存:
1. 避免在热代码区域分配对象
2. 考虑问题时,可以利用缓存池,重用的思路
优化性能代码通常比较丑,这是被允许的,好在这样的代码并不是大多数
GoogleDemo参考:
https://github.com/yigit/dev-summit-architecture-demo
Demo之外的事:
关于具体的同步实现,大家可以参考下Android SyncAdapter的例子。