开发者

How to solve "enlarge buffer" error?

I am working on an Android application. I am reading large stream JSON file. I am getting this error. How can I resolve it?

03-05 11:13:57.760: ERROR/dalvikvm-heap(14415): Out of memory on a 11634218-byte allocation.
03-05 11:13:57.760: INFO/dalvikvm(14415): "Thread-24" prio=5 tid=10 RUNNABLE JIT
03-05 11:13:57.760: INFO/dalvikvm(14415):   | group="main" sCount=0 dsCount=0 s=N obj=0x44940b90 self=0x2b3738
03-05 11:13:57.760: INFO/dalvikvm(14415):   | sysTid=14429 nice=0 sched=0/0 cgrp=default handle=2820104
03-05 11:13:57.760: INFO/dalvikvm(14415):   | schedstat=( 10163055454 12282440153 11858 )
03-05 11:13:57.760: INFO/dalvikvm(14415):   at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:~97)
03-05 11:13:57.760: INFO/dalvikvm(14415):   at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:157)
03-05 11:13:57.760: INFO/dalvikvm(14415):   at java.lang.StringBuilder.append(StringBuilder.java:217)
开发者_运维技巧03-05 11:13:57.760: INFO/dalvikvm(14415):   at ez.com.apiconnection.convertStreamToString(apiconnection.java:89)
03-05 11:13:57.760: INFO/dalvikvm(14415):   at ez.com.apiconnection.urlconn(apiconnection.java:43)
03-05 11:13:57.760: INFO/dalvikvm(14415):   at ez.com.Day_API_Parse.dayall(Day_API_Parse.java:289)
03-05 11:13:57.760: INFO/dalvikvm(14415):   at ez.com.Action_module_screen$3.run(Action_module_screen.java:700)
03-05 11:13:57.760: INFO/dalvikvm(14415):   at java.lang.Thread.run(Thread.java:1096)
03-05 11:13:57.760: INFO/dalvikvm(14415):   at java.lang.Thread.run(Thread.java:1096)


Try to use another library in streaming mode, e.g. Gson or Jackson. Standard org.json library doesn't support streaming and often throws OutOfMemory error on large JSON documents.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜