架构小谈
2016-04-04 18:03
417 查看
代码中我们常以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的例子。
以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的例子。
相关文章推荐
- 如何使用rpm查询安装包的架构
- 网站制作(一):基本的html元素
- 网站敏感骂人词库及算法(附6仟个敏感词)
- JavaEE应用的分层模型和架构
- 收集了非常好的免费学习Java网站 新手可以看看很适用
- Linux ALSA声卡驱动之八:ASoC架构中的Platform
- Linux ALSA声卡驱动之七:ASoC架构中的Codec
- Linux ALSA声卡驱动之六:ASoC架构中的Machine
- 《企业应用架构模式中文版》学习笔记(转)
- Linux ALSA声卡驱动之一:ALSA架构简介
- LAMP平台部署及应用
- 1-STM32学习笔记之系统架构
- 实施微服务需要哪些基础框架|技术热点
- 如何使用Nikto漏洞扫描工具检测网站安全
- 架构设计:系统间通信(23)——提高ActiveMQ工作性能(中)
- 分享个软件开发方面好的资源网站
- 访客/用户与DNS服务器、网站空间服务器、建站宝盒之间的交互关系图
- 一个非常的教程网站----菜鸟教程
- 大型广告系统架构概述
- 网站刷点击