xamarin android黑色闪屏问题

时间:2017-10-31 14:28:23

标签: c# android xamarin mobile splash-screen

所以我正在尝试在我的应用上显示启动画面。我的代码没有错误,但是当我构建我的应用程序时,日志显示了我:

  

10-31 15:19:47.541 I / mono-stdout(1118):启动加载器启动画面   10-31 15:19:47.676 I / dalvikvm-heap(1118):将堆(frag case)增长到21.377MB,用于11520016字节分配   10-31 15:19:47.801 W / dalvikvm(1118):VFY:无法找到签名中引用的类(Landroid / graphics / drawable / Icon;)   10-31 15:19:47.801 I / dalvikvm(1118):找不到方法android.widget.ImageView.setImageIcon,从方法android.support.v7.widget.AppCompatImageView.setImageIcon引用   10-31 15:19:47.801 W / dalvikvm(1118):VFY:无法解析虚方法23537:Landroid / widget / ImageView; .setImageIcon(Landroid / graphics / drawable / Icon;)V   10-31 15:19:47.801 D / dalvikvm(1118):VFY:在0x0000处替换操作码0x6f   10-31 15:19:47.801 I / dalvikvm(1118):找不到方法android.content.res.Resources.getDrawable,从方法android.support.v7.widget.ResourcesWrapper.getDrawable中引用   10-31 15:19:47.801 W / dalvikvm(1118):VFY:无法解析虚拟方法702:Landroid / content / res / Resources; .getDrawable(ILandroid / content / res / Resources $ Theme;)Landroid / graphics /可拉伸/可绘制;   10-31 15:19:47.801 D / dalvikvm(1118):VFY:在0x0002处替换操作码0x6e   10-31 15:19:47.801 I / dalvikvm(1118):找不到方法android.content.res.Resources.getDrawableForDensity,从方法android.support.v7.widget.ResourcesWrapper.getDrawableForDensity中引用   10-31 15:19:47.801 W / dalvikvm(1118):VFY:无法解析虚方法704:Landroid / content / res / Resources; .getDrawableForDensity(IILandroid / content / res / Resources $ Theme;)Landroid / graphics /可拉伸/可绘制;   10-31 15:19:47.801 D / dalvikvm(1118):VFY:在0x0002处替换操作码0x6e   10-31 15:19:47.966 I / dalvikvm-heap(1118):将堆(frag case)增长到37.397MB,用于16777232字节分配   10-31 15:19:47.986 D / dalvikvm(1118):GC_CONCURRENT释放1026K,7%释放35974K / 38300K,暂停2ms + 3ms,总计19ms   10-31 15:19:48.151 E / dalvikvm(1118):找不到类'android.graphics.drawable.RippleDrawable',从方法android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering中引用   10-31 15:19:48.151 W / dalvikvm(1118):VFY:无法在Landroid / support / v7 / widget / AppCompatImageHelper中解析instanceof 240(Landroid / graphics / drawable / RippleDrawable;);   fin doit loader启动画面   10-31 15:19:48.151 D / dalvikvm(1118):VFY:在0x000c处替换操作码0x20   10-31 15:19:48.151 I / mono-stdout(1118):结束加载程序启动画面

出现灰色屏幕而不是启动画面4-5秒,然后显示我的应用程序主屏幕。

首先,我增加了Java最大堆大小(1G或2G),但它没有修复。

我认为问题来自于我的图像尺寸,但是当我为低分辨率图像更改它们时,问题仍然是一样的。

以下是我的启动画面的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/SplashScreenBackground">
<ImageView
    android:layout_width="125dp"
    android:layout_height="match_parent"
    android:src="@drawable/IconSplashScreen"
    android:layout_gravity="center" />
</LinearLayout>

这是我的启动画面活动的代码:

 protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        Console.WriteLine("start loader splash screen");

        SetContentView(Resource.Layout.SplashScreen);

        Console.WriteLine("end doit loader splash screen");

        Thread.Sleep(1500);

        Console.WriteLine("Pause de 1.5 sec terminé");

        StartActivity(typeof(TargetActivity));
        OverridePendingTransition(Resource.Animation.abc_fade_in, Resource.Animation.abc_fade_out);

    }

我使用材料设计库。

我该如何解决?

0 个答案:

没有答案