2017-03-26 4 views
1

再起動するように強制します。アプリケーションを実行するたびに、デバイスが強制的に再起動されます。スプラッシュ画面の活動は、私のデバイスは、私たちは<em>AppCompatActivity</em>にスプラッシュ画面を追加する方法を案内し<em>Xamarin</em>上の記事を見ています

ここで問題を解決するために行ったことがあり、私は失敗しました。 1G

  • にJavaの最大ヒープサイズを設定する
    1. が正しく

    はまだ問題があるスプラッシュ画面作成

  • 正しくインストールAppCompatv7とv4のサポートのためにXamarin articleに記載されている手順に従いました。 これは私のコードですおそらく私はコーディングの部分で何か間違っています。

    スプラッシュ活性

    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    using System.Threading.Tasks; 
    using Android.App; 
    using Android.Content; 
    using Android.OS; 
    using Android.Runtime; 
    using Android.Support.V7.App; 
    using Android.Views; 
    using Android.Widget; 
    
    namespace TestApp 
    { 
        [Activity(Label = "SplashActivity", MainLauncher = true, NoHistory = true, Theme = "@style/MyTheme.Splash")] 
        public class SplashActivity : AppCompatActivity 
        { 
         protected override void OnCreate(Bundle savedInstanceState) 
         { 
          base.OnCreate(savedInstanceState); 
    
          // Create your application here 
          var startupTask = new Task(SimulateStartup); 
          startupTask.Start(); 
    
         } 
         private async void SimulateStartup() 
         { 
          await Task.Delay(4000); 
          var intent = new Intent(this, typeof(MainActivity)); 
          intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask); 
          StartActivity(intent); 
         } 
        } 
    } 
    

    MainActivity

    using System.Threading.Tasks; 
    using Android.App; 
    using Android.Widget; 
    using Android.OS; 
    using Android.Support.V7.App; 
    using System; 
    using Android.Content; 
    
    namespace TestApp 
    { 
        [Activity(Label = "MainActivity")] 
        public class MainActivity : AppCompatActivity 
        { 
         protected override void OnCreate(Bundle bundle) 
         { 
          base.OnCreate(bundle); 
    
          // Set our view from the "main" layout resource 
          SetContentView (Resource.Layout.Main); 
         } 
    
    
        } 
    } 
    

    のstyles.xml

    <?xml version="1.0" encoding="utf-8" ?> 
    <resources> 
        <style name="MyTheme.Base" parent="Theme.AppCompat.Light"> 
        </style> 
    
        <style name="MyTheme" parent="MyTheme.Base"> 
    
        </style> 
    
        <style name="MyTheme.Splash" parent="Theme.AppCompat.Light.NoActionBar"> 
        <item name="android:windowBackground">@drawable/splash_screen</item> 
        <item name="android:windowNoTitle">true</item> 
        <item name="android:windowFullscreen">true</item> 
        </style> 
    </resources> 
    

    splash_screen.xml

    <?xml version="1.0" encoding="utf-8" ?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
        <item> 
        <color android:color="@color/splash_background"/> 
        </item> 
        <item> 
        <bitmap android:src="@drawable/splash" android:tileMode="disabled" android:gravity="center" /> 
        </item> 
    </layer-list> 
    

    colors.xml

    <?xml version="1.0" encoding="utf-8" ?> 
    <resources> 
        <color name="primary">#4682b4</color> 
        <color name="primaryDark">#2c6493</color> 
        <color name="accent">#FFC107</color> 
        <color name="window_background">#F5F5F5</color> 
        <color name="splash_background">#4682b4</color> 
    </resources> 
    
  • 答えて

    1

    は、あなたのビットマップのサイズをご確認ください。大きすぎると再起動する可能性があります。Xamarin Android App causes device reboot

    +0

    回答ありがとうございます。私の写真のサイズはキロバイトで331KBでしたが、resoultionは4488x5315でした。 – CodeIt

    関連する問題