Android 为什么要删除ID?
在我的Android项目中,我使用视图绑定:Android 为什么要删除ID?,android,android-studio,android-databinding,android-viewbinding,Android,Android Studio,Android Databinding,Android Viewbinding,在我的Android项目中,我使用视图绑定: buildFeatures { dataBinding = true viewBinding = true } 理想情况下,我只使用数据绑定,但在这种情况下,我总是需要使用标记 <layout ...> </layout> 在XML布局中使用它。这就是为什么我只在真正需要在XML中绑定数据时才使用它。在其他情况下,我使用viewBinding,因为插件'kotlin-android-extensio
buildFeatures {
dataBinding = true
viewBinding = true
}
理想情况下,我只使用数据绑定
,但在这种情况下,我总是需要使用标记
<layout ...> </layout>
在XML布局中使用它。这就是为什么我只在真正需要在XML中绑定数据时才使用它。在其他情况下,我使用viewBinding
,因为插件'kotlin-android-extensions'
已经被弃用。一切正常,但在运行Analyze->Inspect code
时出现以下问题。一旦完成并找到了一些未使用的资源(在Android->Lint->performance->unused resources
下),并且我删除了所有这些资源,因为我不需要它们,它还会删除分配给XML中所有视图的ID。但是,标记为
的XML中的ID不会被删除。只有在使用viewBinding
时,才会删除ID
我不是专家,但我认为,删除未使用的资源与View
s的ID无关,这是不应该发生的
在每次优化(意味着从未使用的资源中清理项目)之后,我总是必须分配ID,这是非常低效的,尤其是当项目变得更大,并且有更多的视图带有ID时
为什么会发生这种情况?我如何防止这种情况发生?这可能是因为lint不知道您将在视图绑定中使用这些ID。。。这是它应该知道的错误。您可以做的是,当您运行lint查找未使用的资源时,有一个选项可以取消选中,它不会删除未使用的id