在我的活动中,onCreateView
我有两个不同的源视图来膨胀 UI 元素。因此,我使用Bind 方法调用来膨胀属于一个源视图的所有 UI 元素以及属于另一个源视图的findViewById()
那些UI 元素。ButterKnife's
但这只有在findViewById
优先于时才有效ButterKnife
,否则第一组元素也将附加到第二个源视图。
那么findViewById
优先级是真的ButterKnife
吗?
在我的活动中,onCreateView
我有两个不同的源视图来膨胀 UI 元素。因此,我使用Bind 方法调用来膨胀属于一个源视图的所有 UI 元素以及属于另一个源视图的findViewById()
那些UI 元素。ButterKnife's
但这只有在findViewById
优先于时才有效ButterKnife
,否则第一组元素也将附加到第二个源视图。
那么findViewById
优先级是真的ButterKnife
吗?
在幕后ButterKnife's Bind
执行findViewById
的是 id 的整数值,而不是 lookup R.id.something
,这意味着这两种方法实际上执行相同并且具有相同的“优先级”,它只取决于您首先执行哪个。
所以答案是“不,ButterKnife 的 Bind 没有优先级,尽管由于查找,执行速度可能会快一些”
Bas van Stein 是对的 ButterKnife 的 Bind 没有优先级,但您可以使用Android Priority Job Queue
Priority Job Queue 是专门为 Android 编写的 Job Queue 的实现,用于轻松安排在后台运行的作业(任务),提高用户体验和应用程序稳定性。
您将后台任务定义为作业并将它们排入您的 JobManager 实例。作业经理将负责优先级