The current presplash on sdl2 has some kind of weird delay, because it is still visible even after Kivy app was clearly started (you can see widgets through the presplash). For example the test app (testapp_setup) when run from apk or from launcher has this behavior.
I haven't looked at the code of presplash, but it seems like there's a time in seconds or something, not the actual fetching for ping from app, to kill the presplash or similar thing at the right time, that is probably in the pygame bootstrap.
This is a known issue arising from a limitation of the new display method. I think tito just wasn't able to find a better way. Improvements are welcome, but this is here to stay for now.
You don't have to put up with it though, you can make it leave at the right time by calling the function with pyjnius when the app actually started (but because p4a doesn't know how long the app will take, it can't do this automatically). I have an example here.
Thanks for the nice workaround ^^ I'll put it here if something happened to the repo.
from jnius import autoclass
activity = autoclass('org.kivy.android.PythonActivity').mActivity
activity.removeLoadingScreen()
I think I'll still leave the issue open, so that people can find it quickly. Hopefully I or someone else will get to the code soon.
I've seen the presplash occasionally stick around, too. (like, never disappear), app is running in the background.
Another +1 for the workaround
I've added some documentation for this here.
Most helpful comment
This is a known issue arising from a limitation of the new display method. I think tito just wasn't able to find a better way. Improvements are welcome, but this is here to stay for now.
You don't have to put up with it though, you can make it leave at the right time by calling the function with pyjnius when the app actually started (but because p4a doesn't know how long the app will take, it can't do this automatically). I have an example here.