android BaseAdapter

本文深入探讨了创建高效Adapter的方法,强调了利用ListView缓存机制和使用ViewHolder减少性能损耗的重要性。同时,阐述了优秀Adapter应具备的特性,如创建Bean对象、初始化映射数据等,以实现代码的易扩展性和降低耦合度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   之前发表过一篇文章,讲listview的,今天再发一篇,因为我对base adapter 有了新的理解。

   首先说,最好的adapter实现方式,是要做到2点,1,充分利用listview本身的缓存机制,listview在item滑出的时候会放到缓存里,叫receyle,需要的时候再显示出来,放入新的数据,因为item的view是用layoutflate创建的,如果每一次执行adapter的getview方法都要执行layoutFlater.inflate方法,每次都会创建convertview,很耗时。所以,要利用listview的缓存机制,如何利用?判断convertview是否为null,如果为null,就创建view,如果不为null,就直接用。这样的话,就可以复用之前的view,省时,省性能。2,findviewbyid这个方法很耗时,如果每次都要调这个方法,很耗时的。所以,要把item里的对象保存起来,用viewholder。用settag方法把viewholder和convert view关联起来真正做到这2点,才算是优秀的adapter。

  例子代码很多,我就不贴了。

   下面说说优秀adapter的标准,adapter,是view和数据源之间的,目的是易扩展,降低藕合度。

    1、创建Bean对象,用于封装数据。

    2、在构造方法中初始化映射数据List

    3、创建viewholder类,创建布局映射关系

    4、判断convertview为null,则创建,并设置tag,否则,通过tag来取出viewholder

    5、给viewholder中的控件设置数据

   小结:虽然现在手机性能逐步提高,但是作为程序员,不能只是完成功能,而是对代码精雕细琢,达到最好,这才是最文艺的程序员。事实证明,最文艺的方式是很优秀的,很有必要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值