1

私は複数のレベルのアクティビティを持つAndroidアプリケーションを持っています。第1レベルはMainActivity.java、第2レベルはListActivity.java、第3レベルはDetailActivity.javaです。他のアンドロイドアプリのような通常のアクティビティ構造。Android mainactivityが殺されました、サブアクティビティがありません

ユーザーが3番目のアクティビティに移動してアプリを離れると、アプリはバックグラウンドに移動します。 「最近使ったアプリ」メニューから2つのことをアプリをクリックし(まだバックグラウンドでアプリを持つ)携帯電話の通常の使用の数日は時々起こる:

行動を:

  1. は、第三の活動を再開します( DetailActivity.java)、前のアクティビティをクリックすると再起動/再作成されます。

OSがメモリを必要とするので、これが発生し、メモリを解放するためにそれが必要(新鮮なアプリを再起動するように、無活動履歴)

  • はアプリの第一の活動を(MainActivity.java時には)を開きます未使用のメモリを殺す。意図的に第1の行動または第2の行動を行うことは非常に困難です。

    質問/問題:

    どうか、一つのサブアクティビティが殺されたりゴミが収集されるたびに(MainActivity.javaを開始)全アプリを再起動することができますか? アプリケーションで常に2番目の動作を実行するように指定することはできますか?

  • +1

    これは難しいことです。私はそれをやろうとします。代わりに、onSaveInstanceState/onRestoreInstanceState経由でアクティビティの状態を保持しようとする必要があります。 –

    +0

    "問題"とは、通常の、期待される動作です。 –

    +0

    私は、永続的な状態がバックグラウンドのアプリケーションから破棄されるまでの時間が、4.4または5.0の多分、デバイス全体の設定であるという曖昧な記憶を持っています。私のgoogle-fuは今夜は弱いです。 –

    答えて

    0

    Activity<activity>の定義(CATEGORY = LAUNCHERとACTION = MAINのもの)のandroid:clearTaskOnLaunch="true"をマニフェストに設定します。

    関連する問題