3

请原谅我的英语,我是法国人!

所以,我有一个小问题......你知道在列表视图中卸载图像的干净方法吗?我想显示可见项目的图像,并释放内存,卸载其他项目的图像......

可能在 OnScrollListener 中?

谢谢 !

4

2 回答 2

2

实际上ListView是这样设计的,用户不必费心加载和卸载它的数据。

您正在提供一个Adapter包含所有数据(项目)的内容,并将其添加Adapter到您的ListView内容中,而后者又知道如何管理这些项目 - 基本上它只加载来自适配器的那些对手机用户可见的项目。

很少有内置的适配器,例如SimpleCursorAdapter,大多数时候足以满足简单的需求。但是如果你想要更多的扩展可用性,你宁愿编写自己的适配器,这实际上并不难。在本教程中,您可以阅读有关编写自己的适配器的信息:http ://www.ezzylearning.com/tutorial.aspx?tid=1763429

您还可以阅读更多关于ListViewAndroid 文档的信息:http: //developer.android.com/guide/topics/ui/layout/listview.html

于 2013-01-23T13:07:35.817 回答
1

ListView 使用转换后的项目。所以你得到的只是比实际看到的多 2 或 3 件物品。您不必卸载这些图像。实际上最好不要这样做,因为那会减慢您的应用程序的速度。

重要的部分是:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
        View view = convertView;
        if (view == null) {
            LayoutInflater inflater = (LayoutInflater) ctx
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = inflater.inflate(R.layout.your_item, null);
        }

  // set images on view
}
于 2013-01-23T12:49:28.437 回答