のチャットクライアントを構築していますAndroid ICS
。チャットアクティビティにつながる可能性のある名簿(連絡先)アクティビティがあります(名簿(連絡先)リストのエントリをクリックした後)。次に、チャット画面にあるボタンをクリックすると、チャットして名簿画面に戻ることができます。
インテントを作成するためのコードでアクティビティを開始するために使用されるフラグは次のとおりです。Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
名簿アクティビティ画面には検索ボタンもあり、アクティビティを検索してチャットアクティビティに移動できます。
ここで使用されるフラグは同じです。3つすべてがsingleTaskです。
問題は、名簿アクティビティからチャットアクティビティに移動してから、名簿アクティビティに戻ると、すべてが正常になることです。しかし、名簿アクティビティから検索アクティビティ、チャットアクティビティ、名簿アクティビティに戻ると、名簿アクティビティが再作成されます。つまりoncreate()
、名簿の関数が呼び出されます。これは他のフローでは発生しません。
誰でもこれを説明できますか?検索用の新しいアクティビティを作成することは評価されないかもしれませんが、それが良いと仮定すると、これが発生する理由はありますか?
またondestroy()
、名簿の活動は呼び出されません(強制ではないため)。