インテントフィルタを有する唯一つの活性を持っているとし、「その後、システムは、それが復元するため、メモリの問題と再起動の私のプロセスを殺します最後の活動はBです。
これは間違っており、質問から削除する必要があります。
システムがメモリを必要とし、アクティビティのプロセスを強制終了した場合、システムは再び復元しません。再起動は可能ですが、マニフェストで定義された起動インテントを持つアクティビティ(またはブロードキャストリスナ、アラームマネージャまたは通知)から開始します。
私はあなたの質問を理解する:(システムがメモリを必要とするので)アクティビティがアクティビティスタックから削除されている場合
、そしてあなたはそれを再起動し、元の呼び出し元の意図へのアクセス権を持っています。
このように解釈すると、答えは「いいえ」であることが分かります。殺害されたアクティビティを再起動する唯一の方法は新しいインテントを使用することなので、古いインテントは当然利用できません。
しかし
あなたが殺されたアクティビティのインスタンスからデータにアクセスしたい場合は、OnSaveInstanceStateに保存する必要があります。次回のアクティビティの起動時に、保存された状態がOnCreateメソッドで提供されます。
Process Lifecycle参照してください:あなたは、元の呼び出しの意図を保存し、活動を再作成することを使用することができ、という使い方3バックグラウンド活性
を。私はこれを行う前に、ユーザーエクスペリエンスに対するこの影響を非常に慎重に検討します。
私はシステムが自分のプロセスを殺すことを意味しました。私が知っていることから、システムはプロセスの最後のアクティビティを返します。 –
プロセスを手動で強制終了することで確認できます - 設定 - アプリケーション - アプリケーション情報にボタン強制停止があります。 – Jin35
ありがとうございます。 force stopで手作業でプロセスを終了すると、アプリケーションが起動します。しかし、私はシステムがメモリを節約するためにプロセスを終了してから、アプリケーションの最後の目に見える活動を取り戻すことができると読んでいます。 –