前提・実現したいこと
・Xamarin.Formsで作成したアプリをAndroid上で動かしたいと考えています。
・MessagingCenter.Subscribe、MessagingCenter.Unsubscribeを利用してMVVMに沿ったアプリを構築したいと考えています。
・MessagingCenter.SubscribeをOnAppearing()、MessagingCenter.UnsubscribeをOnDisappearing()に書いています。
・ある程度、重い処理を行います。
⇒すみません。訂正します。上は重要ではありませんでした。
教えてほしいこと
Xamarin.Formsのアプリの処理の間にユーザが別のアプリを起動して、Xamarin.Formsのアプリを一瞬でもバックグラウンドにするとXamarin.Formsのアプリが固まってしまいます。
これはバックグラウンドにした際にOnDisappearing()が呼ばれてViewのメッセージの受信待機が終わったタイミングの最中に処理の終わったViewModelから処理後の画面遷移などのメッセージが流れて、Viewは遷移のメッセージを受信できず無視されたためと考えています。
OnDisappearing()に「メッセージの受信をやめる」を書いていたため、一瞬でもほかのアプリを起動しただけで固まる可能性のあるアプリになっているので、「メッセージの受信を開始する」と「メッセージの受信をやめる」をどこに書けば良いか悩んでいます。
Xamarin.FormsのPageのライフサイクル上、MessagingCenter.SubscribeとMessagingCenter.Unsubscribeをどこに書くのが良いでしょうか。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/03 02:59