基础架构好坏直接决定所开发项目未来的稳定性、可伸缩性。在jetpack 框架出来之前应用架构大部分是从网络上东拼西凑出来的产物,没有考虑日后维护.对于google官方提供的应用架构原则,应该认真研读。
如果您不应使用应用组件存储应用数据和状态,那么您应该改为如何设计应用呢?
随着 Android 应用大小不断增加,您定义的架构务必要能允许应用扩缩、提升应用的稳健性并且方便对应用进行测试。
应用架构定义了应用的各个部分之间的界限以及每个部分应承担的职责。为了满足上述需求,您应该按照某些特定原则设计应用架构。
分离关注点
避免将业务逻辑一股脑的写入Activity和Fragment, activity 和 Fragment 只是系统与应用的粘合剂。系统会在内存紧张,或者临界状态删除fragment 或者 Activity。
数据模型驱动界面
另一个重要原则是您应该通过数据模型驱动界面 (最好是持久性模型),数据模型代表应用的数据。它们独立于应用中的界面元素和其他组件。这意味着它们与界面和应用组件的生命周期没有关联,但仍会在操作系统决定从内存中移除应用的进程时被销毁。
优点:
断网或者网络异常时,应用还可以继续工作
activity或者Framgent被销毁后,不会导致用户数据丢失
应用会更便于测试、更稳定可靠