【问题标题】:Apply View Binding for only one layout仅对一种布局应用视图绑定
【发布时间】:2021-07-28 05:37:43
【问题描述】:

我刚刚开始在我的项目中使用View Binding。为了确定它是否适合我的项目和我的编码行为,我只想为一种布局应用视图绑定。

默认情况下,它默认为每个 XML 生成类。如果不是在所有类中都使用视图绑定,这可能是一个很大的开销。

另外,如果顺利的话,我想逐步把Butter Knife换成View Binding。选择哪个布局将使用 View Binding 应该比选择哪个布局将被忽略更好。

【问题讨论】:

  • 您可以通过使用 tools:viewBindingIgnore="true" 作为父标签来忽略。我认为没有办法选择。
  • 任何特定的理由只为一种布局启用?让绑定类生成,你只是不使用它们
  • @Manohar build 文件夹中生成的类会增加我的 apk 大小吗?有什么副作用吗?
  • 我不完全确定,如果不使用并且启用了proguard,还需要检查它们是否被删除。不用太担心尺寸变化应该很小。只需通过启用/禁用视图绑定和生成签名构建来自己比较大小。

标签: android android-viewbinding


【解决方案1】:

您可以忽略其他生成的绑定类并且不要将它们用于您的布局,并在您的视图、片段或活动中使用一个特定的绑定类作为该特定类中的黄油刀的替代品,并让其他类使用黄油刀作为他们不会互相冲突

如果您启用 ViewBinding,它将对 APK 大小以及项目的构建时间产生影响,但这种影响似乎并不令人讨厌,即使您不启用,视图绑定的好处也很多。 t 使用生成的类我能想到的唯一方法是如果您希望在生成绑定类时忽略布局文件,请将 tools:viewBindingIgnore="true" 属性添加到该布局文件的根视图

另外,如果您想在短时间内测试 Butterknife 和 viewBinding 之间没有任何冲突,但在实践中,您应该使用其中之一

【讨论】:

  • 构建文件夹中生成的类会增加我的 apk 大小吗?有什么副作用吗?
  • @HaiHack 更详细地更新了我的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 2016-10-06
相关资源
最近更新 更多