试图从数据库中加载一个大表,我得到此异常:
03-22 09:39:52.898: DEBUG/SntpClient(61): request time failed: java.net.SocketException: Address family not supported by protocol
03-22 09:39:57.228: ERROR/CursorWindow(3890): need to grow: mSize = 1048576, size = 36, freeSpace() = 9, numRows = 20315
03-22 09:39:57.228: ERROR/CursorWindow(3890): not growing since there are already 20315 row(s), max size 1048576
03-22 09:39:57.228: ERROR/CursorWindow(3890): The row failed, so back out the new row accounting from allocRowSlot 20314
03-22 09:39:57.228: ERROR/Cursor(3890): Failed allocating fieldDir at startPos 0 row 20314
我了解模拟器中没有足够的空间正确吗?
我该怎么做才能解决这个问题?
谢谢你的帮助
最佳答案
加载较少的数据。
严重的是-实际设备也受内存限制。因此,即使您增加了仿真器的内存设置,也将遇到实际设备的问题。
通常,您只需要加载屏幕上适合的数据,然后在用户滚动时可以加载更多数据。
关于android - 尝试从数据库中加载选定的(通过查询)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5388234/