2016-07-06 15 views
0

この質問は既にhereと尋ねられていますが、まだ誰もこれに答えていません。XamarinのAndroidのアクティビティ自体が再開

問題:

私はXamarin.Formsアプリケーションを作成しました。私はこのアプリケーションをテストするためにAndroid 5.1を実行してMoto X Developer Editionを使用しています。アプリケーションが起動するとすべてが正常に動作しますが、開いて何もしないと、アクティビティは数分後にrestartになります。これにより、アプリケーションの現在の状態がリセットされ、最初のログインページに移動します。

テスト、それが活動またはアプリケーションだったかどうかを確認するには:

が、私は2つのアクティビティがあります。 1つはSplashScreenアクティビティで、MainLauncherです。もう1つは、FormsApplicationの開始場所です。私は両方のアクティビティでOnCreateメソッドにブレークポイントを保持しました。 Debugeモードでアプリケーションを起動し、上記のシナリオをテストしました。数分後、FormsApplicationが開始されたアクティビティがブレークポイントにヒットし、MainLauncherアクティビティには当たらなくなります。したがって、私のフォームアプリケーションがロードされ、アプリケーション全体ではなく、activiyに関係しています。

私は、Androidを使ってアプリケーションをクリアしてRAMを解放すると考えました。しかし、私のアプリケーションは一時停止されていません。それは画面に焦点を当てています。

なぜこのようなことが起こっているのかわかりません。誰もこの問題に直面していますか?それはそれとは何かを持っていますが、あなたの[アクティビティ]フラグでこれを追加しようと絶対にわからない

活動

[Activity(Label = "SplashScreenActivity", Theme = "@style/Theme.Main", ScreenOrientation = ScreenOrientation.Portrait)] 
    public class SplashScreenActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity 
    { 
     protected override void OnCreate(Bundle savedInstanceState) 
     { 
      base.OnCreate(savedInstanceState); 
      global::Xamarin.Forms.Forms.Init(this, savedInstanceState); 
      LoadApplication(new App()); 
     } 
    } 
+0

画面をオフにしましたか? – jzeferino

+0

いいえ、それは.. @ jzeferinoです。 –

+0

'Xamarin.Android'のどのバージョンですか? 'Xamarin.Forms'のどのバージョン? – SushiHangover

答えて

0

LaunchMode = Android.Content.PM.LaunchMode.SingleTask 

これは主に、ANを維持することができますたとえそれがバックグラウンドであっても、常に生きているアクティビティのインスタンスです。もう一度、それが動作するかどうかは分かりません。

0

Androidのアクティビティライフサイクルには奇妙なことがたくさんあります。 OSは、それが破壊されたり、リサイクルされるなどの活動に関して、かなりの柔軟性を有するようである。いずれにしても、これが元の問題を解決するかどうかにかかわらず、これらのケースを処理することを確認することをお勧めします(たとえば、OnCreate/OnResume /などで必要な状態を復元していることを確認するなど)。

0

は、それが役に立つかもしれません主な活動

[Activity(
    Label = "MainActivity",ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize 
)] 

を属性プロパティを与えるようにしてください。

関連する問題