精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-05-27
你数据量小,想怎么搞就怎么搞吧,至少在数据量小的情况下,效果差不多
至少在我们项目中,原本使用的是楼主的这个方式,确实存在问题(内存问题)。然后换成android的推荐方式了。 BTW, android貌似对每个应用可用的堆内存做了限制,所以内存并不根据机器内存增大而增大。 |
|
返回顶楼 | |
发表时间:2011-09-01
唉,为了参与这个讨论,费力通过了论坛回复测试!
回到话题,楼主这个方法是不错,在20个item的情况下,比google的方法快了几十倍,虽然内存是占了不少。 另外有个问题想请教楼主:如果我里面的item有个imageview,这个imageview开始设了A图片,然后放到hashmap中去了,若是下次我要更新这个ImageView,要设为B图片,貌似就有点处理麻烦了。 |
|
返回顶楼 | |
发表时间:2011-12-26
over140 写道 我也有同感,不过最好需要测试数据比较好一点,因为那个来说GOOGLE IO的优化方法里面有测试数据。
实际上setTag会增加系统的开销,还要多一个静态内部类,即使是优化也是空间换时间的做法,应该有个权衡。 setTag 函数: public void setTag(final Object tag) { mTag = tag; } 另外如果把 new的内容 比如 image或 文字span 放在tag里将极大提高性能 比如楼主的问题完全可以把图片放在tag里解决 如果楼主刻意用Hashmap那其实跟用LinearLayout 没太大区别。 另外楼主是新手不解释 |
|
返回顶楼 | |
发表时间:2011-12-29
LZ根本就是把convertView和ViewHolder给搞混了。。
convertView是在原有的View基础上再次利用,只不过是重新赋值。 ViewHolder是把findViewById的内容保存下来。 |
|
返回顶楼 | |