ReadHub源码阅读笔记(一)

本文是ReadHub开源应用的源码阅读笔记。应用虽小但技术全面,包括分包策略、命名规范、混淆配置、Base类设计及启动页实现。分包结构清晰,如base、bean、ui等。混淆文件注重优化,保留关键类。BaseActivity负责布局、Butterknife绑定和初始化。SplashActivity采用自定义风格,无顶部栏和状态栏,用Handler实现延迟跳转。

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

ReadHub是一个开源的新闻阅读软件,下载apk的时候发现只有2M,但是用到的技术比较全面了。

1.先来看看分包:


自定义Application、启动页和主活动单独拿出来;base包放baseAty、baseFragment等;bean包放数据模型类,命名为xxxMo;ui包中按视图分类,每个页面为一个包,包含本页面的活动和自定义veiw,以及widget中放公共的自定义view。constant表示常量包;utils包放工具类,里面内容不错,因为项目依赖AndroidUtilCode,这个库里面的工具类非常全。其他还有针对框架的一些包。

命名习惯:Xml文件中id全小写,下划线分割单词。

java文件中组件命名与xml保持一致



2.再来看一下混淆文件:


可以看到,开启了打包优化,无用资源删除以及混淆。

混淆文件中包括两部分,公共部分和框架混淆部分,来看公共部分:

# 不做预校验,preverify是proguard的四个步骤之一,Android不需要preverify,去掉这一步能够加快混淆速度。
-dontpreverify
# 保留Annotation不混淆
-keepattributes *Annotation*,InnerClasses
# 避免混淆泛型
-keepattributes Signature
# 抛出异常时保留代码行号
-keepattributes SourceFile,L
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值