Android数据绑定DatabindingUtil vs绑定类
我想知道以下两者之间的区别是什么:Android数据绑定DatabindingUtil vs绑定类,android,performance,android-databinding,android-jetpack,layout-inflater,Android,Performance,Android Databinding,Android Jetpack,Layout Inflater,我想知道以下两者之间的区别是什么: binding = DataBindingUtil.inflate(inflater, R.layout.drawer_item_primary, parent, false); vs 是否存在性能差异 每种方法的首选用例是什么 任何其他信息将不胜感激 谢谢 实际上,这两种方法都是一样的,不会影响性能。 我注意到的唯一一个小区别是,如果您确定要充气的布局,那么您可以使用 int layoutId = R.layout.drawer_item_primary;
binding = DataBindingUtil.inflate(inflater, R.layout.drawer_item_primary, parent, false);
vs
是否存在性能差异每种方法的首选用例是什么
任何其他信息将不胜感激
谢谢 实际上,这两种方法都是一样的,不会影响性能。 我注意到的唯一一个小区别是,如果您确定要充气的布局,那么您可以使用
int layoutId = R.layout.drawer_item_primary;
DataBindingUtil.inflate(inflater, layoutId, parent, false);
binding=draweritemprimary绑定。充气(充气器,父项,false)代码>
但如果您想要动态绑定类,那么可以使用
int layoutId = R.layout.drawer_item_primary;
DataBindingUtil.inflate(inflater, layoutId, parent, false);
Sodraweritemprimary绑定。充气(充气机,父级,假)
将始终返回我们的DrawerItemPrimaryBinding
类。
如果我们必须使用DataBindingUtil.inflate(充气器、layoutId、父项、false)代码>然后我们可以根据需要进行转换。
谢谢。按照中的建议使用绑定类的充气
在DataBindingUtil类中,您可以看到
膨胀
仅当layoutId事先未知时才使用此版本。否则,请使用生成的绑定的充气方法来确保类型安全
通货膨胀。
一种选择是通过DataBindingUtil
进行充气,但只有在您没有生成绑定类时才进行充气
您已经生成了绑定类
,请使用该类,而不是使用DataBindingUtil
在Java中
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
HomeFragmentBinding binding = HomeFragmentBinding.inflate(inflater, container, false);
//set binding variables here
return binding.getRoot();
}
在科特林
lateinit var binding: HomeFragmentBinding
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
binding = HomeFragmentBinding.inflate(inflater, container, false)
return binding.root
}
如果未生成布局biniding类,请参见
lateinit var binding: HomeFragmentBinding
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
binding = HomeFragmentBinding.inflate(inflater, container, false)
return binding.root
}