2017-11-10 4 views
1

私のアプリには主なアクティビティとそれから開始されるその他のアクティビティがあります。主なアクティビティが2度目に作成されることがあります

通常、アプリを起動すると主なアクティビティが開始され、ホーム画面からアプリを再び起動しようとすると、アプリは前景に戻ってスタックの最上部にあるアクティビティを表示します。 これは私が起こりたいものです。

私のアプリからのクラッシュレポートを分析すると、主なアクティビティが2回目に開始されることがあります。テストデバイス/エミュレータでこれを実行することはできません。ユーザーが問題を引き起こすために何をしているのか正確にはわかりません。

09/11/2017 23:49:29.979: Information: App starting 
09/11/2017 23:49:30.313: Information: Activity OnCreate (launching:True): MainActivity 
09/11/2017 23:49:30.321: Information: Main activity launch intent: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10600000 cmp=com.company.appname/md50e6758159625f2df0d9d3f1df35dbb47.MainActivity launchParam=MultiScreenLaunchParams { mDisplayId=0 mBaseDisplayId=0 mFlags=0 } bnds=[544,189][797,486] (has extras) } 
09/11/2017 23:49:38.152: Information: Activity OnCreate (launching:True): SecondActivity 
09/11/2017 23:49:53.815: Information: App going to background 
09/11/2017 23:51:07.257: Information: Activity OnCreate (launching:True): MainActivity 
09/11/2017 23:51:07.268: Information: Main activity launch intent: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10600000 cmp=com.company.appname/md50e6758159625f2df0d9d3f1df35dbb47.MainActivity launchParam=MultiScreenLaunchParams { mDisplayId=0 mBaseDisplayId=0 mFlags=0 } bnds=[544,189][797,486] (has extras) } 
09/11/2017 23:51:07.380: Information: App going to foreground 
09/11/2017 23:51:10.018: Information: Activity OnCreate (launching:True): ThirdActivity 
09/11/2017 23:51:12.801: Information: Activity OnDestroy (finishing:True): ThirdActivity 
09/11/2017 23:51:13.412: Information: Activity OnCreate (launching:True): SecondActivity 

何この動作を引き起こす可能性があります。ここでは

は(匿名)のログですか?

私は、アプリケーションプロセスが終了しないことを指摘したいと思います。そのため、単にメモリの負荷のために終了した後にアプリケーションを再起動するだけではありません。

+0

あなたのコードは、実際に何が起こっているのかを理解するのに役立ちます – Sapher

+0

launchmode:singleをマニフェストファイルに入れてみましたか? – Prachi

+0

@Sapher大きなアプリだし、コードを共有することはできません。 – Zmaster

答えて

0

マニフェストでのアクティビティには、起動モード、singleTopを試してください。 あなたの問題を解決するかもしれません。

この参照を確認して理解を深めることもできます。 https://developer.android.com/guide/components/activities/tasks-and-back-stack.html#TaskLaunchModes

+0

タスクの先頭に他のアクティビティがある場合、これはうまくいかないでしょう。 SingleTaskはおそらくより良い選択だろうが、Androidが通常と同じようにアプリケーションをフォアグラウンドに持ってくるのではなく、再びアクティビティを作成しようとしている理由を理解したい。 – Zmaster

+0

@Zmaster singleTaskまたはsingleTopはあなたの使い方に基づいています。しかし、もう一度リンクをたどってみてください。完全なページを読んでみてください。あなたは、複数の活動例についてあなたの答えを得るでしょう。ありがとう。 – Arpit

関連する問題