Hey,
first off, thanks for the lib, it's really useful not having to develop something like this from scratch.
Now onto the problem. I'm using this in an app and seem to be getting quite a lot of OutOfMemoryErrors in the wild, with the following stack trace:
java.lang.OutOfMemoryError: Failed to allocate a 8294412 byte allocation with 417014 free bytes and 407KB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(VMRuntime.java)
at android.graphics.Bitmap.nativeCreate(Bitmap.java)
at android.graphics.Bitmap.createBitmap(Bitmap.java:939)
at android.graphics.Bitmap.createBitmap(Bitmap.java:912)
at android.graphics.Bitmap.createBitmap(Bitmap.java:879)
at uk.co.deanwild.materialshowcaseview.MaterialShowcaseView.onDraw(MaterialShowcaseView.java:140)
at android.view.View.draw(View.java:16060)
at android.widget.FrameLayout.draw(FrameLayout.java:592)
at android.view.View.updateDisplayListIfDirty(View.java:14991)
at android.view.View.getDisplayList(View.java:15014)
at android.view.View.draw(View.java:15781)
at android.view.ViewGroup.drawChild(ViewGroup.java:3677)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3471)
at android.view.View.draw(View.java:16063)
at android.widget.FrameLayout.draw(FrameLayout.java:592)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2916)
at android.view.View.updateDisplayListIfDirty(View.java:14991)
at android.view.View.getDisplayList(View.java:15014)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:275)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:281)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:320)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2741)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2573)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2165)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1180)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6558)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777)
at android.view.Choreographer.doCallbacks(Choreographer.java:590)
at android.view.Choreographer.doFrame(Choreographer.java:560)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5832)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
These happen mostly on the Samsung Galaxy S3, Note 2 and some on the Galaxy S5 even. The background bitmap just gets too big to fit into the available memory.
Hey,
first off, thanks for the lib, it's really useful not having to develop something like this from scratch.
Now onto the problem. I'm using this in an app and seem to be getting quite a lot of OutOfMemoryErrors in the wild, with the following stack trace:
These happen mostly on the Samsung Galaxy S3, Note 2 and some on the Galaxy S5 even. The background bitmap just gets too big to fit into the available memory.