0

mediaplayer mp と mp1 の 2 つのオブジェクトがあります。どちらのオブジェクトもメディア プレーヤーの状態を保存します。コードは次のとおりです。

        public  Object  onRetainNonConfigurationInstance() 
              {
            HashMap<String,Object> player = new HashMap<String,Object>();
            MediaPlayer instance = mp;
            player.put("mp", instance);
            mp = null;
            MediaPlayer instance1 = mp1;
            player.put("mp1", instance1);
            mp1 = null;
            return player;

        }

これは私の問題です: mp1 の状態が保存されます。つまり、画面を回転すると、mp1 のインスタンスが元の場所から続行されます。画面を回転させるとmpが再起動しますが、助けてください

4

1 に答える 1

0

MediaPlayer の場合、アクティビティではなくサービスで状態を処理することを実際に検討する必要があります。そのライフサイクルは、アクティビティのライフサイクルとは大きく異なります (たとえば、ユーザーがアプリを離れたときにサウンドを再生し続けたい場合があります)。 UI スレッドでは何の関係もありません。
また、構成変更の処理も保存されます。

于 2013-03-22T10:41:23.807 に答える