标签:
大部分时候,我们弄的Activity承担了Control和View的功能,使得Activity类越来越大,形成了最后无法维护的Activity。如何优化Android代码,可以顺序执行以下步骤:
1、职责划分
首先我们将Activity作为一个View来考虑,既然是View那么就应该更多的负责View的事情,而尽可能的不去处理Control相关的事情。
页面中类似于网络获取,数据库数据获取等等的操作,都移到另一个类中去做,这个类做完这些事情,通过handler或者监听去通知Activity更新页面,而不再Activity中去执行这些逻辑。
2、页面分块
一个Activity,不可能它的所有组件都是需要紧密的相互通信的,我们先把相互独立的分块。由一个A变成一个a,b,c;
那么对于A只需要实例化a,b,c,管理a,b,c之间交互,而由a,b,c自己去管理自己的逻辑。
3、独立性
自定义View,去简化比较独立的a逻辑,既然一个a和其他b,c之间没有交互,或只有极少的交互,那么它就可以自己成为一个独立View,自己去管理自己的逻辑。而需要它的地方,只需要实例化即可。
4、交叉
最头疼的就是a有些逻辑属于自己的,但是它有频繁的和b,c进行交互。对于这种情况,我们就新建一个Control a,这个Control获取到这个a的引用,处理a包含View的独立部分,而交叉的逻辑,仍然保持在最高层。
举例说明,一个我的页面,有头像,名称,头像和名称还有一些互动,例如点头像,出现hello+name,下面用列表显示一些配置,头像和名称是网络获取的,配置是本地获取;
那我们就可以划分为a头像和名称,b配置区
a和b基本没交互
那么a 定义为一个自定义View
b定义一个Control去管理view
定义c获取网络信息
定义d获取本地数据
a里面提供一个方法获取数据,刷新页面
b里面提供一个方法获取数据,刷新页面
在Activity,只要实例化即可
Android还有MVP模式,也可结合以上综合使用
保持代码的颜值……
当然必要的适当的注释,方法不过大,这些也不仅仅是Android了
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/zhangfei2018/article/details/48028883