Closed Destiny01 closed 6 years ago
java.lang.OutOfMemoryError: Failed to allocate a 467868 byte allocation with 205264 free bytes and 200KB until OOM at dalvik.system.VMRuntime.newNonMovableArray(Native Method) at android.graphics.Bitmap.nativeCreate(Native Method) at android.graphics.Bitmap.createBitmap(Bitmap.java:831) at android.graphics.Bitmap.createBitmap(Bitmap.java:808) at android.graphics.Bitmap.createBitmap(Bitmap.java:775) at com.makeramen.roundedimageview.RoundedDrawable.drawableToBitmap(RoundedDrawable.java:134) at com.makeramen.roundedimageview.RoundedDrawable.fromDrawable(RoundedDrawable.java:117) at com.makeramen.roundedimageview.RoundedImageView.setImageDrawable(RoundedImageView.java:233) at com.bumptech.glide.request.target.GlideDrawableImageViewTarget.setResource(GlideDrawableImageViewTarget.java:80) at com.bumptech.glide.request.target.GlideDrawableImageViewTarget.setResource(GlideDrawableImageViewTarget.java:12) at com.bumptech.glide.request.target.ImageViewTarget.onResourceReady(ImageViewTarget.java:76) at com.bumptech.glide.request.target.GlideDrawableImageViewTarget.onResourceReady(GlideDrawableImageViewTarget.java:66) at com.bumptech.glide.request.target.GlideDrawableImageViewTarget.onResourceReady(GlideDrawableImageViewTarget.java:12) at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:525) at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:507) at com.bumptech.glide.load.engine.Engine.load(Engine.java:164) at com.bumptech.glide.request.GenericRequest.onSizeReady(GenericRequest.java:449) at com.bumptech.glide.request.target.ViewTarget$SizeDeterminer.notifyCbs(ViewTarget.java:177) at com.bumptech.glide.request.target.ViewTarget$SizeDeterminer.checkCurrentDimens(ViewTarget.java:193) at com.bumptech.glide.request.target.ViewTarget$SizeDeterminer.access$000(ViewTarget.java:161) at com.bumptech.glide.request.target.ViewTarget$SizeDeterminer$SizeDeterminerLayoutListener.onPreDraw(ViewTarget.java:292) at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2060) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1112) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6035) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:606) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5451) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
I have out of memory, without glide, without picasso, 183k jpg image (1083x787),
same line of code, different places,
bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
troubles here are :
it tries to create 7 mb bitmap and fails.
at phone device, samsung SGH-T959.
my code: ivBackground.setImageResource(R.drawable.placeholder_colored);
so why not using something like shape drawable + bitmap shader,
or compressed texture in native format
08-21 09:51:45.054 5622-5655/com.adjoy.standalone E/dalvikvm: Could not find class 'android.app.Notification$BigTextStyle', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zza
08-21 09:51:45.082 5622-5655/com.adjoy.standalone E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zza
08-21 09:51:45.984 5622-5622/com.adjoy.standalone E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
08-21 09:52:06.609 5622-5622/com.adjoy.standalone E/dalvikvm-heap: Out of memory on a 7676516-byte allocation.
08-21 09:52:08.148 5622-5622/com.adjoy.standalone E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.OutOfMemoryError
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
at android.graphics.Bitmap.createBitmap(Bitmap.java:551)
at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:437)
at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:524)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:499)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:351)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:773)
at android.content.res.Resources.loadDrawable(Resources.java:1968)
at android.content.res.Resources.getDrawable(Resources.java:665)
at com.makeramen.roundedimageview.RoundedImageView.resolveResource(RoundedImageView.java:269)
at com.makeramen.roundedimageview.RoundedImageView.setImageResource(RoundedImageView.java:250)
at com.adjoy.standalone.CampaignIntroActivity.onCreate(CampaignIntroActivity.java:27)
at android.app.Activity.performCreate(Activity.java:4465)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
at android.app.ActivityThread.access$600(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)
08-21 09:52:51.167 5622-5707/com.adjoy.standalone E/dalvikvm-heap: Out of memory on a 8294416-byte allocation.
We encounter the same problem. Here is the stack trace:
Fatal Exception: java.lang.OutOfMemoryError
at android.graphics.Bitmap.nativeCreate(Bitmap.java)
at android.graphics.Bitmap.createBitmap(Bitmap.java:726)
at android.graphics.Bitmap.createBitmap(Bitmap.java:703)
at android.graphics.Bitmap.createBitmap(Bitmap.java:670)
at com.makeramen.roundedimageview.RoundedDrawable.drawableToBitmap(RoundedDrawable.java:134)
at com.makeramen.roundedimageview.RoundedDrawable.fromDrawable(RoundedDrawable.java:117)
at com.makeramen.roundedimageview.RoundedImageView.setImageDrawable(RoundedImageView.java:233)
at com.bumptech.glide.request.target.GlideDrawableImageViewTarget.setResource(GlideDrawableImageViewTarget.java:1080)
at com.bumptech.glide.request.target.ImageViewTarget.onResourceReady(ImageViewTarget.java:76)
at com.bumptech.glide.request.target.GlideDrawableImageViewTarget.onResourceReady(GlideDrawableImageViewTarget.java:2066)
at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:525)
at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:507)
at com.bumptech.glide.request.GenericRequest.com.bumptech.glide.load.engine.Engine.load(GenericRequest.java:3155)
at com.bumptech.glide.request.target.ViewTarget.com.bumptech.glide.request.target.ViewTarget$SizeDeterminer.getSize(ViewTarget.java:1211)
at com.bumptech.glide.request.GenericRequest.begin(GenericRequest.java:272)
at com.bumptech.glide.GenericRequestBuilder.com.bumptech.glide.manager.RequestTracker.runRequest(GenericRequestBuilder.java:5037)
at com.bumptech.glide.GenericRequestBuilder.into(GenericRequestBuilder.java:697)
at com.bumptech.glide.DrawableRequestBuilder.into(DrawableRequestBuilder.java:448)
If you're using glide, you should use https://github.com/wasabeef/glide-transformations instead.