finish()
を呼び出した直後にアクティビティを終了しないと便利な場合は特にありますか?finish()がすぐに処理を終了しないのはなぜですか?
(他の方法で、なぜ設計からすぐに活動を終了ません。この方法はありますか?)
http://developer.android.com/reference/android/app/Activity.html#finish()
UPDATE
私はすぐに言うとき、私はあなたが適切なタイミングで、意味finish()
と呼びますが、インスタンスバンドルを保存してクリーンアップしても、onStopメソッドとonDestroyメソッドはカウントされません。
ここスニペットがあり、私が何を言っているかの例を参照するには
onCreate(Bundle savedInstance){
// code executed
if(somecondition){
finish();
}
// code which shouldn't be executed
}
質問で、コードは、条件が活動を終了する前にも終了し、そしてなぜfinish()
呼び出しが停止しないの後である理由すぐに処理する
あなたはすぐにとはどういう意味ですか? – Flo
これは当然のことですが、 'Activity'は' Activity#finish() 'と呼ぶライフサイクルに沿って、あなたの活動を一時停止、停止、破壊します。他のスレッドが実行中であったり、UIスレッドにポストバックしたりすることがあります。 – Jens
@Floこのメソッドを呼び出した直後は、現在のプロセスブロックの残りのコードはスキップされます –