OutofmemoryError打开一个空活动

时间:2015-08-13 08:50:55

标签: android memory

我创建了一个打开另一个活动的活动,新活动只有一个按钮,它还没有做任何事情,我不明白我怎么能得到这个错误。我发现人们在使用位图时会得到它,在这种情况下我不会这样做。 我收到此错误,然后第二个活动在一段时间后打开但完全空白。

08-13 08:30:42.279: E/art(2027): Throwing OutOfMemoryError "Failed to allocate a 3404976 byte allocation with 2097152 free bytes and 2MB until OOM"
08-13 08:30:42.292: E/AndroidRuntime(2027): Error reporting crash
08-13 08:30:42.292: E/AndroidRuntime(2027): java.lang.OutOfMemoryError: Failed to allocate a 3404976 byte allocation with 2097152 free bytes and 2MB until OOM
08-13 08:30:42.292: E/AndroidRuntime(2027):     at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:95)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:125)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at java.lang.StringBuffer.append(StringBuffer.java:278)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at java.io.StringWriter.write(StringWriter.java:123)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at com.android.internal.util.FastPrintWriter.flushLocked(FastPrintWriter.java:358)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at com.android.internal.util.FastPrintWriter.appendLocked(FastPrintWriter.java:303)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at com.android.internal.util.FastPrintWriter.write(FastPrintWriter.java:625)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at com.android.internal.util.FastPrintWriter.append(FastPrintWriter.java:658)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at java.io.PrintWriter.append(PrintWriter.java:691)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at java.io.PrintWriter.append(PrintWriter.java:31)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at java.lang.Throwable.printStackTrace(Throwable.java:324)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at java.lang.Throwable.printStackTrace(Throwable.java:300)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at android.util.Log.getStackTraceString(Log.java:340)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at com.android.internal.os.RuntimeInit.Clog_e(RuntimeInit.java:59)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at com.android.internal.os.RuntimeInit.access$200(RuntimeInit.java:43)
08-13 08:30:42.292: E/AndroidRuntime(2027):     at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:85)    
08-13 08:30:42.292: E/AndroidRuntime(2027):     at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)    
08-13 08:30:42.292: E/AndroidRuntime(2027):     at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)

创建它的代码:

startActivity(new Intent(Main.this, Pause.class));

的xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    tools:context=".Pause" >
    <Button        
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="50sp"
        android:text="II" />
</LinearLayout>

我做错了什么?

2 个答案:

答案 0 :(得分:0)

我的代码中存在同样的问题 - 打开一个活动导致了这次崩溃。

在检查时发现 - 在TextActivity上设置文本导致此崩溃。写入TextActivity的数据是从(Model)单例类中获取的 - 这导致其构造函数中出现无限循环。

答案 1 :(得分:0)

我通过卸载整个ADK并将其从零下载到最新版本来解决这个问题。