显示电话联系时OutOfMemoryError

时间:2013-09-02 06:37:33

标签: android out-of-memory android-contacts

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。如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

实施ListAdapter并使用ListView进行查看。

ListView会在需要时回收内存。

答案 1 :(得分:0)

浏览 ListView 教程并使用 ViewHolder模型实施ListView,以便在需要时回收内存。如果您一次添加所有元素,则应该给出OutOfMemoryError。在listView中,您可以通过向上和向下滚动查看所有联系人,只有少数基于设备大小的内容将一次分配给内存