Android 为什么要删除ID?

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

在我的Android项目中,我使用视图绑定:

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