Android 如何测量对findViewByID-RecyclerView的额外调用

Android 如何测量对findViewByID-RecyclerView的额外调用,android,android-recyclerview,Android,Android Recyclerview,假设您的RecyclerView列表中的每个项目都包含四个嵌套的视图s,并且您不会将这些视图缓存在视图持有者中。如果屏幕上大约有八个项目,那么如果您滚动浏览30个项目,将进行多少额外的findViewById()调用 除了屏幕上适合的八个项目外,假设平滑滚动还需要另外两个项目 我想答案是60 我说得对吗 假设滚动30个项目,每个项目只绑定一次数据 每个项目内部有4个视图,每个bind进行4次调用 总计findViewById()调用将被删除 30 * 4 = 120. 不应调用2个视图,因为它

假设您的
RecyclerView
列表中的每个项目都包含四个嵌套的
视图
s,并且您不会将这些视图缓存在
视图持有者
中。如果屏幕上大约有八个项目,那么如果您滚动浏览30个项目,将进行多少额外的
findViewById()
调用

除了屏幕上适合的八个项目外,假设平滑滚动还需要另外两个项目

我想答案是60


我说得对吗

假设滚动30个项目,每个项目只绑定一次数据

每个项目内部有4个视图,每个
bind
进行4次调用

总计
findViewById()
调用将被删除

30 * 4 = 120.
不应调用2个视图,因为它们尚未绑定

你的问题

将进行多少额外的findViewById()调用

鉴于:

8项可见。 2个项目被隐藏

如果缓存了视图,则调用总数将为:

(8 + 2) * 4 = 40.

额外的电话号码是120-40=80

我没有接到,有什么混乱吗?对不起。无论如何,正确答案是80。我试图计算在30个项目中滚动30次后,findViewById()方法将被调用多少次。