2016-12-28 29 views
0

我想更改應用程序的主題,問題是當我重新創建()該活動時,該應用程序會變白,直到它出現內存不足。 當我刪除Sqlite DB處理程序它完美運行。 如果你能指出一個好的方向!由於Sql重新加載活動時出現OutOfMemory

if(bundle.getBoolean("anss")==true){ 
    SharedPreferences.Editor editor= settings.edit(); 
    editor.putString("theme","zebra"); 
    editor.commit();//Intent i = new Intent(this, MainActivity.class); 
    // i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    // this.finish(); 
    // this.startActivity(i); 
    // myDBHandler.close(); 
    recreate(); 
} 

謝謝。編輯:我在默認情況下在sql中添加一些數據,只要sqlite數據庫是空的,現在有問題,但如果用戶添加一些應用程序再次崩潰,我認爲它是因爲我使用了重新創建()或完成()。

12-28 22:36:33.091 17463-17463/thehuntest.com.beta E/art: Throwing OutOfMemoryError "Failed to allocate a 28 byte allocation with 4 free bytes and 4B until OOM" (recursive case) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: "main" prio=5 tid=1 Runnable 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: | group="main" sCount=1 dsCount=0 obj=0x73dfc000 self=0xb8c902e8 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: | sysTid=17463 nice=0 cgrp=default sched=0/0 handle=0xb6fe4bec 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: | state=R schedstat=(17721986814 2692679225 8127) utm=1660 stm=112 core=0 HZ=100 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: | stack=0xbe44a000-0xbe44c000 stackSize=8MB 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: | held mutexes= "mutator lock"(shared held) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #00 pc 00004e64 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #01 pc 00003665 /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #02 pc 00256401 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::mirror::ArtMethod*)+84) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #03 pc 00237a5b /system/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+150) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #04 pc 0023ae93 /system/lib/libart.so (art::Thread::ThrowOutOfMemoryError(char const*)+274) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #05 pc 001459b9 /system/lib/libart.so (art::gc::Heap::ThrowOutOfMemoryError(art::Thread*, unsigned int, art::gc::AllocatorType)+832) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #06 pc 00147979 /system/lib/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, unsigned int, unsigned int*, unsigned int*, art::mirror::Class**)+668) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #07 pc 000fe3a7 /system/lib/libart.so (???) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #08 pc 0023a661 /system/lib/libart.so (art::Thread::ThrowNewWrappedException(art::ThrowLocation const&, char const*, char const*)+504) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #09 pc 0023aeff /system/lib/libart.so (art::Thread::ThrowOutOfMemoryError(char const*)+382) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #10 pc 001459b9 /system/lib/libart.so (art::gc::Heap::ThrowOutOfMemoryError(art::Thread*, unsigned int, art::gc::AllocatorType)+832) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #11 pc 00147979 /system/lib/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, unsigned int, unsigned int*, unsigned int*, art::mirror::Class**)+668) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #12 pc 001f52a7 /system/lib/libart.so (art::mirror::String::Alloc(art::Thread*, int)+1310) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #13 pc 001f5519 /system/lib/libart.so (art::mirror::String::AllocFromUtf16(art::Thread*, int, unsigned short const*, int)+44) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #14 pc 001bea87 /system/lib/libart.so (???) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #15 pc 000bdc8b /system/lib/libart.so (???) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #16 pc 00074af3 /system/lib/libandroid_runtime.so (???) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art: native: #17 pc 0084ce63 /data/dalvik-cache/arm/[email protected]@boot.oat (Java_android_database_CursorWindow_nativeGetString__JII+110) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.database.CursorWindow.nativeGetString(Native method) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.database.CursorWindow.getString(CursorWindow.java:438) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at thehuntest.com.beta.MyDBHandler.tits(MyDBHandler.java:94) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at thehuntest.com.beta.MainActivity.reset(MainActivity.java:131) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at thehuntest.com.beta.MainActivity.onCreate(MainActivity.java:106) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.app.Activity.performCreate(Activity.java:5990) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3947) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.app.ActivityThread.access$900(ActivityThread.java:151) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.os.Handler.dispatchMessage(Handler.java:102) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.os.Looper.loop(Looper.java:135) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at android.app.ActivityThread.main(ActivityThread.java:5254) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at java.lang.reflect.Method.invoke!(Native method) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at java.lang.reflect.Method.invoke(Method.java:372) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
12-28 22:36:33.134 17463-17463/thehuntest.com.beta E/art:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 



Performing pause of activity that is not resumed: {thehuntest.com.beta/thehuntest.com.beta.MainActivity} 


java.lang.RuntimeException: Performing pause of activity that is not resumed: {thehuntest.com.beta/thehuntest.com.beta.MainActivity} 
                      at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3231) 
                      at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3219) 
                      at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3194) 
                      at android.app.ActivityThread.access$1000(ActivityThread.java:151) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1314) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:135) 
                      at android.app.ActivityThread.main(ActivityThread.java:5254) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at java.lang.reflect.Method.invoke(Method.java:372) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
+1

添加stracktrace – Rahul

+0

聽起來像是一個死循環。在你沒有顯示的代碼中。 –

+0

'拋出OutOfMemoryError「無法分配一個28字節的分配,4個空閒字節和4B,直到OOM」(遞歸大小寫)'最後一部分可能是一個提示;) – AxelH

回答

0

也許你已經打開遊標。 使用next建設:

Cursor cursor = null; 
try { 
    cursor = getCursor(); 
    if (cursor.moveToFirst) { 
     //your commands 
    } 
} finally { 
    if (cursor != null) { 
     cursor.close(); 
    } 
} 
相關問題