0

トーナメントメーカーアプリを携帯電話バージョン2.2とタブレットバージョン4.0.3にインストールしています。

携帯電話からアプリを起動してアクティビティを開始しても、ホームボタンを押してからもう一度起動しても、アプリが破棄されて再作成されることはありません(これが私が望むものです)。

タブレットから同じことをすると、アクティビティが破棄されて再作成され、括弧の順序が混乱し、誰が勝ったかどうかがわかりません。

私はこれらの2つの方法をオーバーライドしようとしました

public void onSaveInstanceState(Bundle savedInstanceState) 

public void onRestoreInstanceState(Bundle savedInstanceState) 

何が起こるかを制御し、うまくいけば以前の状態を復元するためですが、最初に、破壊と再作成の段階が発生するのを防ぐことが可能かどうかを知りたいと思います。

android:configChanges="orientation|keyboardHidden"これは、アクティビティのマニフェストを挿入して画面の向きが変更されたときにアクティビティが再開されないようにする場合と似ています。

4

1 に答える 1

0

アクティビティがバックグラウンドに移行するとすぐに、システムはいつでもアクティビティを破棄できます。onSaveIntanceState()/ onRestoreInstanceState()をオーバーライドするのは正しいことです。また、戻るボタンを押すという単純なケースにも対処する必要があります。アクティビティも破壊されます。

そうは言っても、ホームボタンを押すとすぐにあなたの活動が破壊されるのは不思議です。4.0.3デバイスの[設定]->[開発者向けオプション]で[アクティビティを保持しない]オプションがオンになっている可能性がありますか?

于 2012-07-15T05:59:52.120 に答える