使Android ListView像Spotify,Ted,Twitter等一样流畅



我正在尝试找到从URL加载图像到Android中的ListView的最佳方法(特别是Facebook事件和Facebook好友个人资料图片)

我尝试了许多不同的库,包括Shutterbug,webimageloader,广受赞誉的LazyList,并且永远无法获得完全流畅的滚动ListView,例如Spotify中朋友的列表或Ted talks应用程序或Twitter应用程序的个人资料图片加载。

任何人都可以指出我正确的方向,以便我获得流畅的滚动列表吗?

我的适配器的 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。我根本无法真正浏览它,因为它会在滚动和滞后时加载所有图像......

事实证明,问题出在我正在使用的 SlidingMenu 库上(类似于 Spotify 中的库),修复方法是更新它。旧版本在关闭时没有删除视图,因此有 4-5 层 GPU 过度绘制。使用Jelly Bean中介绍的开发工具帮助我找到了这个问题。

最新更新