SurfaceViewがあり、カメラのプレビュー画像を表示するHomeActivityというアクティビティがあります。このアクティビティは静かで重く、開始/再開すると遅く感じます。
そこで、調査を行ったところ、どういうわけか常にonCreateメソッドが呼び出されていることがわかりました。私の意見では、アクティビティがすでに開始されている場合、これは発生しないはずですか?
ドキュメントには次のように書かれています:アクティビティが最初に作成されたときに呼び出されます。ここで、通常の静的設定をすべて行う必要があります。ビューの作成、データのリストへのバインドなどです。このメソッドは、アクティビティの以前にフリーズされた状態(存在する場合)を含むバンドルも提供します。常にonStart()が続きます。
戻るを処理するメソッドは次のとおりです。
protected void gotoHome() {
final Intent intent = new Intent(SomeOtherActivity.this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
編集:
これが私がHomeActivityを離れる方法です...特別なことは何もありません:
final Intent i = new Intent(HomeActivity.this, SomeOtherActivity.class);
startActivity(i);