Application.OnCreate被覆盖后,Splash Screen消失了

问题描述 投票:1回答:1

创刊号

我需要在我的ProcessLifecycleOwner方法中注册Xamarin.Android Architecture Components,如Application.OnCreate所述。

但它导致6.2.2版本的MvvmCross错误:

MvvmCross.Exceptions.MvxIoCResolveException:无法解决类型MvvmCross.ViewModels.IMvxAppStart发生

或者只是用Splash Screen卡在6.2.3上。


固定

这些问题是由Xamarin.Android mvvmcross app crashes when launching with intent filter的建议解决的。

[Application]
public class App : MvxAndroidApplication<Setup, Core.App>
{
    public App(IntPtr reference, JniHandleOwnership transfer) :
        base(reference, transfer) { }

    public override void OnCreate()
    {
        MvxAndroidSetupSingleton
            .EnsureSingletonAvailable(ApplicationContext)
            .EnsureInitialized();

        base.OnCreate();
    }
}

目前的问题

然而qazxsw poi也消失了,只剩下来自qazxsw poi的蓝色背景。

我找到了一个解决方法:

Splash Screen

但由于并行性,它不可靠,有时可行,有时会崩溃。


如何恢复default theme

xamarin.android mvvmcross oncreate
1个回答
2
投票

您的方法很可能在UI线程上阻塞,导致UI在预期的启动屏幕显示的时间内阻塞。

尝试使用异步事件处理程序来允许非阻塞UI调用

public override void OnCreate()
{
    Task.Run(() => MvxAndroidSetupSingleton
                     .EnsureSingletonAvailable(ApplicationContext)
                     .EnsureInitialized());

    base.OnCreate();
}
© www.soinside.com 2019 - 2024. All rights reserved.