Android ScrollView VS ListView 显示很多动态项目
Android ScrollView VS ListView show many dynamic items
有从服务器接收到的对象数组
有两种显示项目的方法:
- 使对象适应 ListView
- 使用滚动视图
所以如果我使用滚动视图并以编程方式添加项目,有一些问题:
- 以编程方式添加项目是否会导致内存不足?
- 是否需要从内存中删除项目?或者它会在调用 onDestroy 或 Items 移出屏幕后自动删除?
此致
Listview 是最适合您的案例。我更喜欢使用 android 的 volley 库。它易于使用,非常方便和有用。
如果数据集很大,ListView 不会自行停止 OOM,您将不得不避免使用由某些非内存数据存储支持的 CusorAdapter(如 sql 数据库).
ListView 将减少视图用于向用户表示数据的内存量,因为它只会初始化用户可以看到的视图(并在用户滚动时尽可能回收视图)。
由于只有可见的视图加载了 ListView,性能应该*也更好,因为布局过程会更快。
在大多数情况下,ListView 更适合这种类型的东西。
(*) 如果适配器的 getView 或 bindView e.t.c。很复杂,或者列表中的每一行都有自己的视图类型,滚动性能实际上可能更差。
有从服务器接收到的对象数组 有两种显示项目的方法:
- 使对象适应 ListView
- 使用滚动视图
所以如果我使用滚动视图并以编程方式添加项目,有一些问题:
- 以编程方式添加项目是否会导致内存不足?
- 是否需要从内存中删除项目?或者它会在调用 onDestroy 或 Items 移出屏幕后自动删除?
此致
Listview 是最适合您的案例。我更喜欢使用 android 的 volley 库。它易于使用,非常方便和有用。
如果数据集很大,ListView 不会自行停止 OOM,您将不得不避免使用由某些非内存数据存储支持的 CusorAdapter(如 sql 数据库).
ListView 将减少视图用于向用户表示数据的内存量,因为它只会初始化用户可以看到的视图(并在用户滚动时尽可能回收视图)。
由于只有可见的视图加载了 ListView,性能应该*也更好,因为布局过程会更快。
在大多数情况下,ListView 更适合这种类型的东西。
(*) 如果适配器的 getView 或 bindView e.t.c。很复杂,或者列表中的每一行都有自己的视图类型,滚动性能实际上可能更差。