0

如果我使用SetListAdapter显示 +10,000 行,可能会出现问题吗?

如果是,请指导我选择一种更好的方式来显示这些行。

谢谢

4

1 回答 1

1

ListView可以显示任意数量的元素数据;但是当我们讨论大量和非常大的数字时有一个技巧:您需要重用ListView持有的视图。这个Google IO演示文稿是我可以向您推荐的最好的东西。

现在,我能想到的还有其他一些会产生负面影响的事情:

  1. 这些 10k 对象占用多少内存?如果它是一个 SMS 集合,那么 10k * 160 max chars per message * 4 bytes per char 将产生 640 万字节,即约 6 Mb。现在 6 MB 在内存中并不算多,但它不是一个可以忽略的数字。
  2. 该商店中的对象访问速度有多快?如果您将此数据结构保存在内存中并将其存储为,ArrayList那么我相信您将可以立即访问。或者自己决定使用什么数据结构。在我看来,选择正确的系列真的很重要。也许这篇文章会对你有所帮助。

最后,您还应该考虑用户将如何使用该应用程序。是否值得将所有消息存储在内存中,因为用户可能希望查看最新消息、上周消息或他最喜欢的联系人的消息?也许有一个过滤选项会很有帮助,这样你就可以将它们保存在 SQLite 中。

于 2013-08-08T11:22:27.473 回答