java - ListView内存问题

标签 java android sqlite listview android-listview

我正在使用 listview 将超过 50 个项目存储到 listview 中,但在插入第 20 个项目后,错误显示在日志猫中,如下所示。

08-02 12:50:34.646: E/CursorWindow(5245): not growing since there are already 16 row(s), max size 1048576
08-02 12:50:34.646: E/Cursor(5245): Failed allocating 69485 bytes for text/blob at 24,8
08-02 12:50:34.695: D/Cursor(5245): finish_program_and_get_row_count row 25
08-02 12:50:35.365: E/CursorWindow(5245): need to grow: mSize = 1048576, size = 69485, freeSpace() = 9795, numRows = 16
08-02 12:50:35.365: E/CursorWindow(5245): not growing since there are already 16 row(s), max size 1048576
08-02 12:50:35.365: E/Cursor(5245): Failed allocating 69485 bytes for text/blob at 23,8
08-02 12:50:35.396: D/Cursor(5245): finish_program_and_get_row_count row 26
08-02 12:50:35.896: D/Cursor(5245): skip_rows row 7
08-02 12:50:35.905: E/CursorWindow(5245): need to grow: mSize = 1048576, size = 69485, 
freeSpace() = 9795, numRows = 16
08-02 12:50:35.905: E/CursorWindow(5245): not growing since there are already 16 row(s), max size 1048576
08-02 12:50:35.905: E/Cursor(5245): Failed allocating 69485 bytes for text/blob at 22,8
08-02 12:50:35.936: D/Cursor(5245): finish_program_and_get_row_count row 27
08-02 12:50:36.425: D/Cursor(5245): skip_rows row 6
08-02 12:50:36.436: E/CursorWindow(5245): need to grow: mSize = 1048576, size = 69485, 
freeSpace() = 9795, numRows = 16

而且应用程序加载速度非常慢。帮助我。

最佳答案

答案是,我们无法在单个 Cursor 中从 sqlite 数据库加载超过 1 MB 的数据。因此必须避免将大数据加载到列表项中。替代解决方案保留较大数据的任何唯一 ID,并通过 onClick List 项将其称为单个数据(对我有用)。

最好的解决方案是使用 CursorJoiner 并点击此链接

how to load more than 1 MB data from sqlite db to android cursor?

Android SQL Lite fail to grow

关于java - ListView内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11772741/

相关文章:

sqlite odbc 静默安装

python - 在 SqlAlchemy SQLite 中按联合查询中的列排序

sqlite - ASP.NET Identity + Entity Framework + SQLite 分享

java - Maven surefire testng 提供程序运行 JUnit 测试,但不报告结果

JAVA:使用计数器格式化字符串

java - 错误 - 在 tomcat 7.0 (windows) 中部署 war 文件

android - Android P 中不推荐使用的 fragment

java - 在 Android Studio 中安装并集成 Apache OpenNLP

android-ndk-profiler 对 monstartup 和 moncleanup 的 undefined reference

java - LDAP:如何返回超过 1000 个结果 (java)