有没有理由不使用 DataBindingUtil.inflate?

Are there reasons not to use DataBindingUtil.inflate?

将片段绑定到布局时,两种最常见的方式 (AFAIK) 是: FragmentMyexampleBinding binding = FragmentMyExampleBinding.inflate(inflater, container, false)

FragmentMyexampleBinding binding = DataBindingUtil.inflate(inflater, R.layout.fragment_my_example, container, false)
所以我的问题是,除了语句更短之外,第一种方式的优势是什么? 使用DataBindingUtil并传入一个布局文件让AndroidStudio知道哪个布局文件是相关的并生成布局文件的快捷方式图标,也让AndroidStudio可以快速找到所有对布局文件的引用如果你想重命名它。有什么理由不这样做吗?

DataBindingUtil.inflate 的文档是这样说的

Use this version only if layoutId is unknown in advance. Otherwise, use the generated Binding's inflate method to ensure type-safe inflation.

所以 FragmentMyExampleBinding.inflate 的主要优点是可以保证类型安全。 DataBindingUtil.inflate 方法必须在 "hocus pocus" 在 运行 的时候做一些事情来确定 return 的类型,并且有可能出现问题。

总而言之,虽然没有任何理由不使用 DataBindingUtil.inflate,但至少有一个理由可以

使用 FragmentMyExampleBinding.inflate 而不是 DataBindingUtil.inflate