CoronaSplashControl - crashes on some tablets

We are using the CoronaSplashControl plugin to show a custom splash screen and found a severe problem with it.

When launched on a Galaxy Tab or One Touch device there is a crash. This happens on every launch on these devices. 

The stack trace is:

java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@833e31e

at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1311)

at android.graphics.Canvas.drawBitmap(Canvas.java:1445)

at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:551)

at android.widget.ImageView.onDraw(ImageView.java:1252)

at android.view.View.draw(View.java:17524)

at android.view.View.updateDisplayListIfDirty(View.java:16517)

at android.view.View.draw(View.java:17293)

at android.view.ViewGroup.drawChild(ViewGroup.java:3926)

at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3716)

at android.view.View.draw(View.java:17527)

at android.view.View.updateDisplayListIfDirty(View.java:16517)

at android.view.View.draw(View.java:17293)

at android.view.ViewGroup.drawChild(ViewGroup.java:3926)

at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3716)

at android.view.View.updateDisplayListIfDirty(View.java:16512)

at android.view.View.draw(View.java:17293)

at android.view.ViewGroup.drawChild(ViewGroup.java:3926)

at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3716)

at android.view.View.updateDisplayListIfDirty(View.java:16512)

at android.view.View.draw(View.java:17293)

at android.view.ViewGroup.drawChild(ViewGroup.java:3926)

at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3716)

at android.view.View.updateDisplayListIfDirty(View.java:16512)

at android.view.View.draw(View.java:17293)

at android.view.ViewGroup.drawChild(ViewGroup.java:3926)

at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3716)

at android.view.View.draw(View.java:17527)

at com.android.internal.policy.PhoneWindow$DecorView.draw(PhoneWindow.java:3130)

at android.view.View.updateDisplayListIfDirty(View.java:16517)

at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:325)

at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:331)

at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:366)

at android.view.ViewRootImpl.draw(ViewRootImpl.java:3230)

at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3029)

at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2611)

at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1524)

at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7520)

at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)

at android.view.Choreographer.doCallbacks(Choreographer.java:686)

at android.view.Choreographer.doFrame(Choreographer.java:622)

at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)

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:7325)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

Please fix this ASAP.
For now, we have disabled the splash screen on android. It solves the crash, but having a black screen for a few seconds when the app starts is not ideal at all.

Thanks

Do you have a valid PNG file?

Can you try building the hello world sample app using your splash screen settings are crashing and see if it crashes with Hello World?

Thanks

Rob

We already disable the splash screen on very low memory devices.

Do you have specific model numbers for the devices that are crashing?  Unfortunately, “Galaxy Tab” means different things in different countries.  

A complete log of a session which crashes would also be great to get if you have one.  You can PM that to me if you prefer.

The PNG is the same one we used before the SplashControl plugin was introduced, so it’s valid. 

And I sent you all the details we have from the Play store regarding the crash. 

Thanks

Any updates on this? Is the issue fixed?

For us this issue is fixed

Good to know that.  :)

Sorry, my bad … I never followed up on this thread.

This issue was fixed in Daily Build CoronaSDK 2016.2984:

  • Android: fix issue which caused problems if a custom splash screen was exactly the same dimensions as the device screen (also ensure that we only ever scale an image down, never up)

Do you have a valid PNG file?

Can you try building the hello world sample app using your splash screen settings are crashing and see if it crashes with Hello World?

Thanks

Rob

We already disable the splash screen on very low memory devices.

Do you have specific model numbers for the devices that are crashing?  Unfortunately, “Galaxy Tab” means different things in different countries.  

A complete log of a session which crashes would also be great to get if you have one.  You can PM that to me if you prefer.

The PNG is the same one we used before the SplashControl plugin was introduced, so it’s valid. 

And I sent you all the details we have from the Play store regarding the crash. 

Thanks

Any updates on this? Is the issue fixed?

For us this issue is fixed

Good to know that.  :)

Sorry, my bad … I never followed up on this thread.

This issue was fixed in Daily Build CoronaSDK 2016.2984:

  • Android: fix issue which caused problems if a custom splash screen was exactly the same dimensions as the device screen (also ensure that we only ever scale an image down, never up)