2017-11-07 4 views
0

私はactivityを持っています。ビデオやオーディオを扱う非常に複雑なサードパーティロジックを使用しています。特定のアクティビティに達するたびにアクティビティを完全に再開します

これらのサードパーティーのセットアップには、さまざまなコールバックとサーバー要求を持つ複雑な設定があります。

今、このactivityから、ユーザーはそれを離れて行くことができます。

ユーザーが戻ると、activityが起動したばかりのように再開することを願っています。activity (基本的に私は維持するための痛みである再開ロジックを実行する代わりに、ライフサイクル全体を辿るサードパーティ製のものをすべて使用する)

この特定のactivityは常に再起動する方法はありますか?それがナビゲートされたときに再開するのではなく、

finish()私はそれを離れて行くときはいつでも、ユーザーが戻ってきたら明示的に起動してstartActivity()を購入すると思います。

しかし、他の方法がありますか?私の活動にはバンドルのための1つの余分なStringが必要です。

答えて

1

実行時にアクティビティがスタックされるため、アクティビティAによって起動されたアクティビティBが有効である限り、アクティビティAはメモリに残ります。

あなたは活動Aのためfinish()を呼び出し、Aの親からの活動Bを起動し、Bが閉じているときにすることができます - 同じ親からリニューアルのAが、それはちょうど悪い習慣だと活動が使用されるべき方法を歪めます。 recreate()メソッドを使用して、アクティビティのクリーンなインスタンスを作成することもできます。など

しかし、私の意見は、一般的に、BPソリューションアクティビティAのライフサイクルイベントを処理することになると、サードパーティ関連のクラスを使用してlibにあなたのサードパーティに対処することである、MVPパターン、

+0

APIを再作成は何です今は行くよ。 – user1017674

関連する問題