gpt4 book ai didi

android - Adapter类中的Holder类

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:04:13 25 4
gpt4 key购买 nike

搜索后我想问一个简单的问题,为什么我们创建静态持有者类并在其中分配 View ?请解开我的疑惑,这对我会有很大的帮助。

最佳答案

您的代码可能会在 ListView 滚动期间频繁调用 findViewById(),这会降低性能。即使当 Adapter 返回一个膨胀的 View 以供回收时,您仍然需要查找元素并更新它们。避免重复使用 findViewById() 的一种方法是使用 “view holder” 设计模式。

ViewHolder 对象将每个组件 View 存储在 Layout 的标记字段中,因此您可以立即访问它们,而无需重复查找它们。首先,您需要创建一个类来保存您的确切 View 集。

您可以阅读 Android Guideline了解更多详情。

  1. 因此,当您使用“View Holder”时,您可以轻松访问每个 View ,而无需进行查找,从而节省宝贵的处理器周期。
  2. 为 View 提供一个静态内部类大大提高了性能

你还可以看到Why does Android prefer static classes链接。

一个更有趣的链接 How ListView Work ,看完这篇博客开发者可以清楚LisView的逻辑,以及为什么需要为listView实现内部静态类。

关于android - Adapter类中的Holder类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11559664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com