Marshall
Marshall

Reputation: 1362

Android Studio OutOfMemoryError

I have made an app and have been testing it on Android Studio with different screen sizes (AVDs). I started with small one and worked my way up. It is very slow, but I got up to 5.96" screens and everything worked fine. When trying it with the 5.96" I got the following error:

01-01 11:59:09.226    1317-1317/com.luanca.charangomaster E/art﹕ Throwing OutOfMemoryError "Failed to allocate a 29833456 byte allocation with 4194304 free bytes and 12MB until OOM"
01-01 11:59:09.228    1317-1317/com.luanca.charangomaster D/skia﹕ --- allocation failed for scaled bitmap
01-01 11:59:09.232    1317-1317/com.luanca.charangomaster D/AndroidRuntime﹕ Shutting down VM
    --------- beginning of crash
01-01 11:59:09.246    1317-1317/com.luanca.charangomaster E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.luanca.charangomaster, PID: 1317
    android.view.InflateException: Binary XML file line #1: Error inflating class <unknown>
            at android.view.LayoutInflater.createView(LayoutInflater.java:633)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:482)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:377)
            at android.app.Dialog.setContentView(Dialog.java:490)
            at com.luanca.charangomaster.CustomDialog.<init>(CustomDialog.java:25)
            at com.luanca.charangomaster.ChordActivity$2.onClick(ChordActivity.java:178)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19749)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            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:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: java.lang.reflect.InvocationTargetException
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
            at android.view.LayoutInflater.createView(LayoutInflater.java:607)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:482)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:377)
            at android.app.Dialog.setContentView(Dialog.java:490)
            at com.luanca.charangomaster.CustomDialog.<init>(CustomDialog.java:25)
            at com.luanca.charangomaster.ChordActivity$2.onClick(ChordActivity.java:178)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19749)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            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:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: java.lang.OutOfMemoryError: Failed to allocate a 29833456 byte allocation with 4194304 free bytes and 12MB until OOM
            at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
            at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
            at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609)
            at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
            at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:973)
            at android.content.res.Resources.loadDrawableForCookie(Resources.java:2423)
            at android.content.res.Resources.loadDrawable(Resources.java:2330)
            at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
            at android.view.View.<init>(View.java:3730)
            at android.view.ViewGroup.<init>(ViewGroup.java:491)
            at android.widget.RelativeLayout.<init>(RelativeLayout.java:248)
            at android.widget.RelativeLayout.<init>(RelativeLayout.java:244)
            at android.widget.RelativeLayout.<init>(RelativeLayout.java:240)
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
            at android.view.LayoutInflater.createView(LayoutInflater.java:607)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:482)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:377)
            at android.app.Dialog.setContentView(Dialog.java:490)
            at com.luanca.charangomaster.CustomDialog.<init>(CustomDialog.java:25)
            at com.luanca.charangomaster.ChordActivity$2.onClick(ChordActivity.java:178)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19749)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            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:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

Now I'm confused, because the app worked with all other screen sizes. Anyone with some insight in how to fix this? Is it a code error or is it something I have to fix in Android Studio?

Works fine with 7" and 10" screens too. I don't understand the error with 5.96"...

This is where it happens. When I press one of the first 2 buttons (which should open a dialog while still on the same activity (as links because I reach limit of stackoverflow):

https://dl.dropboxusercontent.com/u/43384650/activity_main.xml

And the 2 dialogs:

https://dl.dropboxusercontent.com/u/43384650/dialog.xml

https://dl.dropboxusercontent.com/u/43384650/dialog2.xml

Upvotes: 0

Views: 4354

Answers (2)

Haris Beg
Haris Beg

Reputation: 21

I ran into the same issue, and fixed it by increasing the VM Heap Size of the AVD from 64 MB to 128 MB.

Upvotes: 2

M S Gadag
M S Gadag

Reputation: 2057

the drawable wood

i hope its an image and just replace some color code to this line n try

android:background="@drawable/wood"

as

android:background="#000000"

i hope its work for u.

Upvotes: 2

Related Questions