1

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

我尝试了许多不同的库,包括 Shutterbug、webimageloader、广受赞誉的LazyList,但永远无法获得像 Spotify 中的朋友列表或 Ted Talks 应用程序或 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。我根本无法真正浏览它,因为它会在滚动和滞后时加载所有图像......

4

1 回答 1

0

原来问题出在我正在使用的一个 SlidingMenu 库上(类似于 Spotify 中的那个),解决方法是更新它。旧版本在关闭时没有删除视图,因此有 4-5 层 GPU 过度绘制。使用 Jelly Bean 中介绍的开发工具帮助我发现了这一点。

于 2015-01-06T15:49:20.027 回答