组件化攻略-R2.java的今生前世和静态变量

本文介绍了ButterKnife的优势及其生成R2.java的原因,详细阐述了R2.java的生成过程,并在组件化背景下讨论了静态变量的考量,包括Resource绑定方式和延续R.java方式的优缺点。最后,分析了组件化中使用非final静态变量可能导致的资源冲突问题,建议使用R2.java以避免冲突。
摘要由CSDN通过智能技术生成

在这里插入图片描述
ButterKnife已经成为众多开发者的选择。简直不要太好用。

其优势
  • 1、强大的Resource绑定和Method事件处理功能,简化代码,提升开发效率
  • 2、方便的处理Adapter里的ViewHolder绑定问题
  • 3、运行时不会影响APP效率,使用配置方便
  • 4、代码清晰,可读性强
截止 2019年9月6日。ButterKnife Version 10.1.0 (2019-02-13),已经有很多的支持了。

在这里插入图片描述


为什么有R2.java

原因

Library Module必须转换成final类型才能使用ButterKnife。
不是常量会提示attribute value must be constant
在这里插入图片描述

描述

ButterKnife是通过注解 简化编码工作。

Module 是否生成final的ID
App Module
Library Module

具体的路径:
App Module:

app/build/generated/source/r/env1/debug/包路径/R.java 这里env1/debug是编译环境

public final class R {
    public static final class anim {
        public static final int a3 = 0x7f050000;
        public static final int a5 = 0x7f050001;
        .....
    }
    ......
}

Library Module:

module_name/build/generated/source/r/deb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值