Java ListView内存问题

Java ListView内存问题,java,android,sqlite,listview,android-listview,Java,Android,Sqlite,Listview,Android Listview,我正在使用listview将超过50项存储到listview中,但在插入第20项后,日志cat中显示的错误如下所示 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,

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

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

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

答案是,我们不能在单个
游标中从
sqlite
db加载超过1MB的数据。因此,必须避免将大型数据加载到列表项中。替代解决方案保留较大数据的唯一ID,并通过单击列表将其称为单个数据(对我有用)

最好的解决方案是使用
CursorJoiner
并遵循以下链接


您试图将哪些“项目”加载到每一行?仅包含日期年份和金额之类的字符串示例:日期:2012年1月2日年份:2011年金额:2000$查看是否有帮助A我看起来像这样。谢谢你@Dya