怎么优化listView,普通的优化我知道(convertView+ViewHolder),我主要是想知道关于数据方面怎么优化,
比如说,我的adpater中有一个ArrayList用来保存从服务端获取的数据集合。ArrayList中存放的是Person这个类,
Person类中定义的都是String类型的数据,不过有一个有点占内存,就是图片的16进制字符串。
那么当我初始化这个ListView的时候,服务端向我发过来10条Person数据,那么10条数据就会添加到ArrayList中,
当我上拉刷新,又向服务端请求,服务端又返回了10条数据,那么就会又向ArrayList里面添加10条数据。那么假如一直上拉刷新?程序不就OOM了吗?
在网上查找了一些资料,还是没有完全弄明白到底要怎么解决。求帮助 (๑>m<๑)
String中存放图片的16进制字符串,这肯定是不合理的,很占用内存。
建议服务端给出图片的url地址,然后客户端拿到地址后使用ImageLoader去加载显示
如果是一张图片的话,图片转成字符串还行。要是列表类的这样子不行。因为那个字符串太大了。应该图片对应一个url,用picasso或者glide等加载。不用担心oom了。