OutOfMemoryError

Рейтинг: -2Ответов: 2Опубликовано: 01.01.2015

Не понимаю, в чем проблема.

    01-01 16:05:59.597  12166-12166/com.example.PoemsAndFace E/dalvikvm-heap﹕ Out of memory on a 28311568-byte allocation.
01-01 16:05:59.621  12166-12166/com.example.PoemsAndFace E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.OutOfMemoryError
            at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
            at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:521)
            at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:374)
            at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:397)
            at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:427)
            at android.graphics.drawable.BitmapDrawable.inflate(BitmapDrawable.java:446)
            at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
            at android.graphics.drawable.LayerDrawable.inflate(LayerDrawable.java:165)
            at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
            at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
            at android.content.res.Resources.loadDrawable(Resources.java:1990)
            at android.content.res.Resources.getDrawable(Resources.java:673)
            at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2895)
            at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2938)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:279)
            at android.app.Activity.setContentView(Activity.java:1881)
            at com.example.PoemsAndFace.Authors.onCreate(Authors.java:14)
            at android.app.Activity.performCreate(Activity.java:5122)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1084)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
            at android.app.ActivityThread.access$600(ActivityThread.java:162)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
            at android.os.Handler.dispatchMessage(Handler.java:107)
            at android.os.Looper.loop(Looper.java:194)
            at android.app.ActivityThread.main(ActivityThread.java:5392)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
            at dalvik.system.NativeStart.main(Native Method)

Ответы

▲ 6Принят

Все же видно, как на ладони в стактрейсе:Где-то в XML файле layout'а выставлена картинка слишком большого размера. Возможно, кстати, она только часть проблемы. Может быть основная часть памяти съедается где-то в другом месте, до этого момента.
Большие изображения лучше класть в папку drawable-nodpi

P. S. что бы выделить код так, как это сделал модератор, выдели мышкой весь код, и нажми на {} в панели инструментов
alt text

▲ 2

Был уже подобный вопрос с идентичной проблемой( логами из LogCat ): java.lang.OutOfMemoryError при использовании изображений