Adapter 中getView使用注意点

本文介绍在Android开发中如何优化Adapter的getView方法,通过复用convertView来提高应用性能并避免内存溢出。文中提供了一个具体的实现案例,展示了如何检查convertView是否为空,并根据情况选择更新现有视图或创建新的视图。

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

Adapter 中getView使用时需要判断convertView是否为null,若不为null则只需更新该view的数据及状态即可。若重新创建:1、速度慢,2、很快会耗尽内存(android内部可能会保持对该view的引用)

代码片断:
    public class AppsAdapter extends BaseListAdapter {
        public View getView(int position, View convertView, ViewGroup parent) {
            String msg = (String)getItem(position);
            iListLinear layout;
            if(convertView==null){

                //新建view
                layout = new iListLinear(mcontext);
                layout.CreateItems(width.length);
            }else{

                //使用原有的view
                layout=(iListLinear)convertView;
            }
            layout.SetItemData(position, msg);
            return layout;
        }
        ...
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值