2017-03-26 6 views
1

다시 시작되도록합니다. 응용 프로그램을 실행할 때마다 장치가 강제로 다시 시작됩니다.초기 화면 활동 내 장치가 나는 우리가 <em>AppCompatActivity</em>에 시작 화면을 추가하는 방법을 안내 <em>자 마린</em>에 기사를 볼 수 있어요

다음은 문제를 해결하기 위해 수행 한 작업이며 실패했습니다. 1G

  • 에 자바 최대 힙 크기를 설정
    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