Am a loss and out of my depth on something I'm seeing.
The app in question is set as the Launcher when run in Android. Thus when the tablet powers up the app launches automatically and is being presented pretty much as a single-purpose or embedded device.
On power-up the app launches, splash screen appears... then crashes when the first
ContentPage is presented due to static resource style 'LabelStyleReg` not found. In other words, it couldn't find the style defined in the app.xaml and apply it to a label on that first page.
Since the app crashed the launcher is then launched - which is the app. On this second launch, everything is fine. What the user sees is the splash screen, then the splash screen, then the app. If you're not looking closely you don't even see the splash screen drop and start again at the crash; which is good from that perspective.
What I don't grasp is how the app can fail to find the style on the first launch directly after device power-on, but if fine every time thereafter.
It doesn't happen when the app is not the android Launcher. If you boot the device then launch the app its fine. Which makes me feel like there is some android OS mechanism that hasn't loaded yet, that Xamarin.Forms relies on to support these resources... or key/value pairs... or the mono framework itself isn't loaded yet perhaps?
I hate to try hacky things like add a 3 second delay to the boot time etc. I'd rather know the cause and be able to wait for a specific event to happen if that's what I need to do.
Yes the style does exist:
I've annotated the key step in the launch squence of this error log.