Java Android,在AVD上运行时抛出内存不足错误
这是我的主要活动课 我调用flore.json的文件大小为1.8MB。。我搜索了堆栈溢出,发现使用setChunkedStreamingModelengthoffile;。。。但是我的文件大小是1.8mb。。请帮助我如何从大文件中获取数据 我的日志错误Java Android,在AVD上运行时抛出内存不足错误,java,android,sqlite,Java,Android,Sqlite,这是我的主要活动课 我调用flore.json的文件大小为1.8MB。。我搜索了堆栈溢出,发现使用setChunkedStreamingModelengthoffile;。。。但是我的文件大小是1.8mb。。请帮助我如何从大文件中获取数据 我的日志错误 02-17 20:08:04.834: E/art(30265): Throwing OutOfMemoryError "Failed to allocate a 164 byte allocation with 100 free bytes a
02-17 20:08:04.834: E/art(30265): Throwing OutOfMemoryError "Failed to allocate a 164 byte allocation with 100 free bytes and 100B until OOM" (recursive case)
02-17 20:08:04.877: E/art(30265): "main" prio=5 tid=1 Runnable
02-17 20:08:04.877: E/art(30265): | group="main" sCount=0 dsCount=0 obj=0x732e4970 self=0xb5107800
02-17 20:08:04.877: E/art(30265): | sysTid=30265 nice=0 cgrp=apps sched=0/0 handle=0xb6ff4ec8
02-17 20:08:04.877: E/art(30265): | state=R schedstat=( 23280000000 17280000000 1932 ) utm=2190 stm=138 core=0 HZ=100
02-17 20:08:04.877: E/art(30265): | stack=0xbe0db000-0xbe0dd000 stackSize=8MB
02-17 20:08:04.877: E/art(30265): | held mutexes= "mutator lock"(shared held
)
02-17 20:08:04.877: E/art(30265): at java.util.Arrays.copyOfRange(Arrays.java:2701)
02-17 20:08:04.877: E/art(30265): at java.lang.String.<init>(String.java:421)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.nextString(JSONTokener.java:210)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.nextValue(JSONTokener.java:107)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.readObject(JSONTokener.java:362)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.nextValue(JSONTokener.java:100)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.readArray(JSONTokener.java:430)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.nextValue(JSONTokener.java:103)
02-17 20:08:04.878: E/art(30265): at org.json.JSONArray.<init>(JSONArray.java:92)
02-17 20:08:04.878: E/art(30265): at org.json.JSONArray.<init>(JSONArray.java:108)
02-17 20:08:04.878: E/art(30265): at com.learnsocial.testingdatabase.MainActivity.getData(MainActivity.java:81)
02-17 20:08:04.878: E/art(30265): at com.learnsocial.testingdatabase.MainActivity.onCreate(MainActivity.java:48)
02-17 20:08:04.878: E/art(30265): at android.app.Activity.performCreate(Activity.java:5933)
02-17 20:08:04.878: E/art(30265): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
02-17 20:08:04.878: E/art(30265): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
02-17 20:08:04.878: E/art(30265): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
02-17 20:08:04.878: E/art(30265): at android.app.ActivityThread.access$800(ActivityThread.java:144)
02-17 20:08:04.879: E/art(30265): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
02-17 20:08:04.879: E/art(30265): at android.os.Handler.dispatchMessage(Handler.java:102)
02-17 20:08:04.879: E/art(30265): at android.os.Looper.loop(Looper.java:135)
02-17 20:08:04.879: E/art(30265): at android.app.ActivityThread.main(ActivityThread.java:5221)
02-17 20:08:04.879: E/art(30265): at java.lang.reflect.Method.invoke!(Native method)
02-17 20:08:04.879: E/art(30265): at java.lang.reflect.Method.invoke(Method.java:372)
02-17 20:08:04.879: E/art(30265): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
02-17 20:08:04.879: E/art(30265): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
02-17 20:08:04.927: D/AndroidRuntime(30265): Shutting down VM
02-17 20:08:05.147: I/art(30265): Clamp target GC heap from 17MB to 16MB
02-17 20:08:05.147: I/art(30265): Alloc partial concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 0% free, 15MB/16MB, paused 956us total 318.845ms
02-17 20:08:05.151: I/art(30265): WaitForGcToComplete blocked for 225.093ms for cause Background
02-17 20:08:05.153: I/art(30265): WaitForGcToComplete blocked for 224.800ms for cause Alloc
02-17 20:08:05.169: I/art(30265): Alloc sticky concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 15MB/16MB, paused 5.961ms total 15.315ms
02-17 20:08:05.546: I/art(30265): Alloc concurrent mark sweep GC freed 269120(8MB) AllocSpace objects, 2(6MB) LOS objects, 46% free, 583KB/1095KB, paused 1.005ms total 373.878ms
02-17 20:08:05.550: I/art(30265): WaitForGcToComplete blocked for 366.410ms for cause Alloc
02-17 20:08:05.573: E/StrictMode(30265): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
02-17 20:08:05.573: E/StrictMode(30265): java.lang.Throwable: Explicit termination method 'close' not called
02-17 20:08:05.573: E/StrictMode(30265): at dalvik.system.CloseGuard.open(CloseGuard.java:184)
02-17 20:08:05.573: E/StrictMode(30265): at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:807)
02-17 20:08:05.573: E/StrictMode(30265): at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791)
02-17 20:08:05.573: E/StrictMode(30265): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1142)
02-17 20:08:05.573: E/StrictMode(30265): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:267)
02-17 20:08:05.573: E/StrictMode(30265): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
02-17 20:08:05.573: E/StrictMode(30265): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
02-17 20:08:05.573: E/StrictMode(30265): at com.learnsocial.testingdatabase.MainActivity.onCreate(MainActivity.java:41)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.Activity.performCreate(Activity.java:5933)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ActivityThread.access$800(ActivityThread.java:144)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
02-17 20:08:05.573: E/StrictMode(30265): at android.os.Handler.dispatchMessage(Handler.java:102)
02-17 20:08:05.573: E/StrictMode(30265): at android.os.Looper.loop(Looper.java:135)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ActivityThread.main(ActivityThread.java:5221)
02-17 20:08:05.573: E/StrictMode(30265): at java.lang.reflect.Method.invoke(Native Method)
02-17 20:08:05.573: E/StrictMode(30265): at java.lang.reflect.Method.invoke(Method.java:372)
02-17 20:08:05.573: E/StrictMode(30265): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
02-17 20:08:05.573: E/StrictMode(30265): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
02-17 20:08:05.660: I/art(30265): Alloc partial concurrent mark sweep GC freed 208(60KB) AllocSpace objects, 0(0B) LOS objects, 46% free, 594KB/1106KB, paused 1.046ms total 106.015ms
02-17 20:08:05.667: E/AndroidRuntime(30265): FATAL EXCEPTION: main
02-17 20:08:05.667: E/AndroidRuntime(30265): Process: com.learnsocial.testingdatabase, PID: 30265
02-17 20:08:05.667: E/AndroidRuntime(30265): java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack available
02-17 20:08:17.621: I/Process(30265): Sending signal. PID: 30265 SIG: 9
你可以加上
android:largeHeap=true
您的舱单:
<application
android:allowBackup="true"
android:icon="@drawable/logoapp"
android:label="@string/app_name"
android:largeHeap="true" >
02-17 20:08:04.834: E/art(30265): Throwing OutOfMemoryError "Failed to allocate a 164 byte allocation with 100 free bytes and 100B until OOM" (recursive case)
02-17 20:08:04.877: E/art(30265): "main" prio=5 tid=1 Runnable
02-17 20:08:04.877: E/art(30265): | group="main" sCount=0 dsCount=0 obj=0x732e4970 self=0xb5107800
02-17 20:08:04.877: E/art(30265): | sysTid=30265 nice=0 cgrp=apps sched=0/0 handle=0xb6ff4ec8
02-17 20:08:04.877: E/art(30265): | state=R schedstat=( 23280000000 17280000000 1932 ) utm=2190 stm=138 core=0 HZ=100
02-17 20:08:04.877: E/art(30265): | stack=0xbe0db000-0xbe0dd000 stackSize=8MB
02-17 20:08:04.877: E/art(30265): | held mutexes= "mutator lock"(shared held
)
02-17 20:08:04.877: E/art(30265): at java.util.Arrays.copyOfRange(Arrays.java:2701)
02-17 20:08:04.877: E/art(30265): at java.lang.String.<init>(String.java:421)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.nextString(JSONTokener.java:210)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.nextValue(JSONTokener.java:107)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.readObject(JSONTokener.java:362)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.nextValue(JSONTokener.java:100)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.readArray(JSONTokener.java:430)
02-17 20:08:04.878: E/art(30265): at org.json.JSONTokener.nextValue(JSONTokener.java:103)
02-17 20:08:04.878: E/art(30265): at org.json.JSONArray.<init>(JSONArray.java:92)
02-17 20:08:04.878: E/art(30265): at org.json.JSONArray.<init>(JSONArray.java:108)
02-17 20:08:04.878: E/art(30265): at com.learnsocial.testingdatabase.MainActivity.getData(MainActivity.java:81)
02-17 20:08:04.878: E/art(30265): at com.learnsocial.testingdatabase.MainActivity.onCreate(MainActivity.java:48)
02-17 20:08:04.878: E/art(30265): at android.app.Activity.performCreate(Activity.java:5933)
02-17 20:08:04.878: E/art(30265): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
02-17 20:08:04.878: E/art(30265): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
02-17 20:08:04.878: E/art(30265): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
02-17 20:08:04.878: E/art(30265): at android.app.ActivityThread.access$800(ActivityThread.java:144)
02-17 20:08:04.879: E/art(30265): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
02-17 20:08:04.879: E/art(30265): at android.os.Handler.dispatchMessage(Handler.java:102)
02-17 20:08:04.879: E/art(30265): at android.os.Looper.loop(Looper.java:135)
02-17 20:08:04.879: E/art(30265): at android.app.ActivityThread.main(ActivityThread.java:5221)
02-17 20:08:04.879: E/art(30265): at java.lang.reflect.Method.invoke!(Native method)
02-17 20:08:04.879: E/art(30265): at java.lang.reflect.Method.invoke(Method.java:372)
02-17 20:08:04.879: E/art(30265): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
02-17 20:08:04.879: E/art(30265): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
02-17 20:08:04.927: D/AndroidRuntime(30265): Shutting down VM
02-17 20:08:05.147: I/art(30265): Clamp target GC heap from 17MB to 16MB
02-17 20:08:05.147: I/art(30265): Alloc partial concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 0% free, 15MB/16MB, paused 956us total 318.845ms
02-17 20:08:05.151: I/art(30265): WaitForGcToComplete blocked for 225.093ms for cause Background
02-17 20:08:05.153: I/art(30265): WaitForGcToComplete blocked for 224.800ms for cause Alloc
02-17 20:08:05.169: I/art(30265): Alloc sticky concurrent mark sweep GC freed 0(0B) AllocSpace objects, 0(0B) LOS objects, 0% free, 15MB/16MB, paused 5.961ms total 15.315ms
02-17 20:08:05.546: I/art(30265): Alloc concurrent mark sweep GC freed 269120(8MB) AllocSpace objects, 2(6MB) LOS objects, 46% free, 583KB/1095KB, paused 1.005ms total 373.878ms
02-17 20:08:05.550: I/art(30265): WaitForGcToComplete blocked for 366.410ms for cause Alloc
02-17 20:08:05.573: E/StrictMode(30265): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
02-17 20:08:05.573: E/StrictMode(30265): java.lang.Throwable: Explicit termination method 'close' not called
02-17 20:08:05.573: E/StrictMode(30265): at dalvik.system.CloseGuard.open(CloseGuard.java:184)
02-17 20:08:05.573: E/StrictMode(30265): at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:807)
02-17 20:08:05.573: E/StrictMode(30265): at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791)
02-17 20:08:05.573: E/StrictMode(30265): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1142)
02-17 20:08:05.573: E/StrictMode(30265): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:267)
02-17 20:08:05.573: E/StrictMode(30265): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
02-17 20:08:05.573: E/StrictMode(30265): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
02-17 20:08:05.573: E/StrictMode(30265): at com.learnsocial.testingdatabase.MainActivity.onCreate(MainActivity.java:41)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.Activity.performCreate(Activity.java:5933)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ActivityThread.access$800(ActivityThread.java:144)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
02-17 20:08:05.573: E/StrictMode(30265): at android.os.Handler.dispatchMessage(Handler.java:102)
02-17 20:08:05.573: E/StrictMode(30265): at android.os.Looper.loop(Looper.java:135)
02-17 20:08:05.573: E/StrictMode(30265): at android.app.ActivityThread.main(ActivityThread.java:5221)
02-17 20:08:05.573: E/StrictMode(30265): at java.lang.reflect.Method.invoke(Native Method)
02-17 20:08:05.573: E/StrictMode(30265): at java.lang.reflect.Method.invoke(Method.java:372)
02-17 20:08:05.573: E/StrictMode(30265): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
02-17 20:08:05.573: E/StrictMode(30265): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
02-17 20:08:05.660: I/art(30265): Alloc partial concurrent mark sweep GC freed 208(60KB) AllocSpace objects, 0(0B) LOS objects, 46% free, 594KB/1106KB, paused 1.046ms total 106.015ms
02-17 20:08:05.667: E/AndroidRuntime(30265): FATAL EXCEPTION: main
02-17 20:08:05.667: E/AndroidRuntime(30265): Process: com.learnsocial.testingdatabase, PID: 30265
02-17 20:08:05.667: E/AndroidRuntime(30265): java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack available
02-17 20:08:17.621: I/Process(30265): Sending signal. PID: 30265 SIG: 9
<application
android:allowBackup="true"
android:icon="@drawable/logoapp"
android:label="@string/app_name"
android:largeHeap="true" >