论坛首页 移动开发技术论坛

善意的谎言: AdapterView、Adapter优化

浏览 16406 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-05-27  
你数据量小,想怎么搞就怎么搞吧,至少在数据量小的情况下,效果差不多

至少在我们项目中,原本使用的是楼主的这个方式,确实存在问题(内存问题)。然后换成android的推荐方式了。

BTW, android貌似对每个应用可用的堆内存做了限制,所以内存并不根据机器内存增大而增大。
0 请登录后投票
   发表时间:2011-09-01  
唉,为了参与这个讨论,费力通过了论坛回复测试!

回到话题,楼主这个方法是不错,在20个item的情况下,比google的方法快了几十倍,虽然内存是占了不少。 另外有个问题想请教楼主:如果我里面的item有个imageview,这个imageview开始设了A图片,然后放到hashmap中去了,若是下次我要更新这个ImageView,要设为B图片,貌似就有点处理麻烦了。
0 请登录后投票
   发表时间:2011-12-26  
over140 写道
我也有同感,不过最好需要测试数据比较好一点,因为那个来说GOOGLE IO的优化方法里面有测试数据。

实际上setTag会增加系统的开销,还要多一个静态内部类,即使是优化也是空间换时间的做法,应该有个权衡。




setTag 函数: 

    public void setTag(final Object tag) {
        mTag = tag;
    }


另外如果把 new的内容 比如 image或 文字span 放在tag里将极大提高性能

比如楼主的问题完全可以把图片放在tag里解决

如果楼主刻意用Hashmap那其实跟用LinearLayout 没太大区别。

另外楼主是新手不解释
0 请登录后投票
   发表时间:2011-12-29  
LZ根本就是把convertView和ViewHolder给搞混了。。

convertView是在原有的View基础上再次利用,只不过是重新赋值。

ViewHolder是把findViewById的内容保存下来。
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics