我正在尝试找到最好的方法从网址(特别是Facebook事件和Facebook好友头像)将图片加载到Android的ListView中。
我试过很多不同的库,包括Shutterbug、webimageloader、广受好评的LazyList,但我从来没有得到过像Spotify中的朋友列表、Ted talk应用程序或者Twitter应用程序的资料图片加载那样完全流畅的滚动ListView。
谁能给我指出正确的方向,这样我就可以得到一个平滑的滚动列表?
我的适配器的getView():
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
FriendView fView = null;
if (convertView == null) {
fView = new FriendView();
convertView = inflater.inflate(R.layout.friend_layout, parent,
false);
fView.name = (TextView) convertView.findViewById(R.id.friendName);
fView.name.setTypeface(tf);
fView.pic = (ImageView) convertView.findViewById(R.id.profilePic);
convertView.setTag(fView);
} else {
fView = (FriendView) convertView.getTag();
}
fView.name.setText(nameEvents.get(position));
HomeScreen.imageLoader.DisplayImage(graphBase + ids.get(position)
+ graphEndForPic, fView.pic);
return convertView;
}
static class FriendView {
public TextView name;
public ImageView pic;
}事情并不是太糟糕,但是列表大约有600个项目,并且所有的图像都有不同的URL。我真的不能随意翻阅它,因为它会在滚动和滞后时加载所有的图像。
发布于 2015-01-06 23:49:20
原来问题出在我使用的一个SlidingMenu库上(与Spotify中的库类似),修复方法是更新它。旧版本在关闭时没有删除视图,因此有4-5层GPU透支。使用Jelly Bean中介绍的开发工具帮助我找到了这一点。
https://stackoverflow.com/questions/13419498
复制相似问题