「Android開発」画面遷移について
最近、戻るボタンの画面遷移について、内部の管理仕組みが分からないので、困ってました。ネット上でいろいろ調べて、一番、わかりやすく、ロジックの厳密で説明してもらうサイトをやっと見つかりました。共有します。 http://techblog.qoncept.jp/?p=102 纏めてみると、 ①launchModeについて、4モードに同一タスク内で振る舞うのはstandard,singleTop,singletaskで、タスク単位に振る舞うのはsingleInstanceです。 ②同一タスク内の各アクテイビティのインスタンスがスタックの形で管理されてる。 ・standardはいつも新たに、アクテイビティのインスタンスを生成して、タスクにputする。 ・singleTopは同一タスクにTopインスタンスがputしようとなるアクテイビティと同じなら、新しく生成しなく、そのまま使う。→いつもTopインスタンスより、新しくインスタンスを生成するか判定されてる。 ・singletaskは同一タスクに同一アクテイビティのインスタンスにされて、それに、再度呼ばれたアクテイビティのインスタンスの上に存在したインスタンスが全部終了される。 ③各タスクもスタックの形で管理されてる。foregroundTaskはタスクスタックにtopの存在で、下には複数backgroundTaskが存在する。 なお、起動フラグの設定より遷移の挙動も変われます。下記のサイトで参照すれば、一目瞭然 http://www.saturn.dti.ne.jp/npaka/android/LaunchMode/