保持Android代码颜值的一些思考

本文介绍了一种优化Android代码的方法,通过职责划分、页面分块、独立性和交叉处理,将Activity作为View来考虑,移除其Control相关逻辑,实现更清晰、易于维护的代码结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大部分时候,我们弄的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了




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值