Android中的view Android开发之ViewHolder学习笔记
大家好,我是云百科的客服小柏,我来为大家解答以上问题。Android中的view,Android开发之ViewHolder学习笔记很多人还不知道,现在让我们一起来看看吧!
解答:
1、 BaseAdapter继承Object并实现接口ListAdapter和SpinnerAdapter。它必须实现Adapter的四个抽象方法:getItem(int),getItemId(int),getCount(),getView(int,View,ViewGroup)
2、 一、初学者经常使用的方法。在方法中,视图容器不用于缓存视图。首先初始化视图对象,每次初始化getView方法中的视图对象。这将创建很多很多的实例,这可能会导致内存溢出和缓慢的数据更新。不推荐。代码如下:
3、 其次,使用ViewHolder,这是一个推荐的优化方案。在项目开发中,会在BaseAdapter子类中创建一个ViewHolder内部类或ViewHolder类,控件名会在ViewHolder类中声明。然后在getView方法中初始化一次,View对象初始化一次,控件引用赋给ViewHolder变量。代码如下:
4、 第三,原理与第二种方案相同。第一次加载可视视图时,缓存控件,以后每次加载时直接更新数据。但是findViewById方法用了很多次,性能比第一个差。让我们试一试。代码如下:
5、 三种方法中,现在推荐使用性能中的ViewHolder。第一步是定义内部类。第二步,判断convertView是否是第一次加载。如果是第一次加载,则初始化一次ViewHolder类,并设置ViewHolder属性值(将control声明为内部类属性)。否则,根据标签获取缓存的ViewHolder对象。分别为视图持有者属性设置值(即填充数据)。这里需要注意的是,如果使用setTag的标签有多个,则使用带参数使用setTag(mName,mView)的方法,比如第三种方案。
本文到此讲解完毕了,希望对大家有帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
最近收到一位患者的留言,说自己这几天总感觉肛门有下坠胀感,特别难受,上网一查,好多信息都指向癌症,这可...浏览全文>>
-
腹痛、腹泻总反复!可能是小肠、大肠在抗议。基于症状特征区分小肠疾病与大肠疾病的具体差异分析:一、核心症状...浏览全文>>
-
近日,中国中医药信息学会肛肠分会·肿瘤分会·治未病分会·河北名医学会肛肠分会·盆底与便秘分会·河北省中...浏览全文>>
-
安徽蚌埠的长安启源E07作为一款备受关注的新能源车型,其价格和配置一直是消费者热议的话题。如果你正考虑入手...浏览全文>>
-
近年来,随着新能源汽车市场的快速发展,插电式混合动力车型逐渐成为消费者关注的焦点。生活家PHEV作为一款备...浏览全文>>
-
在2025款生活家PHEV车型正式上市之前,提前了解相关费用明细对于购车者来说至关重要。这款插电式混合动力车型...浏览全文>>
-
大众途昂作为一款中大型SUV,凭借其宽敞的空间和强劲的动力配置,在市场上一直拥有不错的口碑。对于计划购买20...浏览全文>>
-
阜阳地区的长安启源Q05 2025款车型凭借其时尚的外观设计和丰富的配置,吸引了众多消费者的关注。这款车型作为...浏览全文>>
-
阜阳揽巡作为一款备受关注的中型SUV,凭借其豪华的配置和超值的价格吸引了众多消费者的目光。这款车不仅在外观...浏览全文>>
-
淮南长安启源A07自上市以来便凭借其卓越的性能和亲民的价格赢得了众多消费者的青睐。作为2025款的新车型,它在...浏览全文>>