1
java.lang.OutOfMemoryError

at android.view.ViewGroup.addInArray(ViewGroup.java:3576)

at android.view.ViewGroup.addViewInner(ViewGroup.java:3531)

at android.view.ViewGroup.addView(ViewGroup.java:3380)

在我的应用程序中,我向用户显示所有电话联系人,并要求用户选择要在我们的应用程序中使用的少数或所有联系人。我一次向用户显示所有联系人。没有延迟加载或类似的东西。如果我向他们显示最多 1000 个联系人,但如果手机中有超过 5000 个联系人并且我尝试一次性显示它们,它工作正常。我收到 OutOfMemoryError。如何解决这个问题。

4

2 回答 2

0

实现ListAdapter并使用ListView查看它。

ListView在需要时回收内存。

于 2013-09-02T06:45:34.903 回答
0

阅读ListView教程并使用ViewHolder 模型实现一个 ListView,以便在需要时回收内存。如果一次添加所有元素,预计会给出 OutOfMemoryError 。与在 listView 中一样,您可以通过上下滚动查看所有联系人,一次仅根据设备大小为少数内容分配内存

于 2013-09-02T07:00:20.520 回答