3

アクティビティでデフォルトの着信音を取得しています:

remindRingtoneView = (TextView) findViewById(R.id.remind_ringtone);

remindRingtoneView.setText(RingtoneManager.getRingtone(
            NewReminder.this, ringtone_uri).getTitle(
            NewReminder.this));

この行の後に、LogCatにtag='Ringtone'およびmessage=のデバッグ行があります。

'Successfully created a local player'.

アクティビティとシステムガベージコレクターを終了すると、LogCat=で警告メッセージが表示されます。

'MediaPlayer finalized without being released'.

どうすればリリースできますか?

答えは:

Ringtone remind_ringtone = RingtoneManager.getRingtone(
            NewReminder.this, ringtone_uri);        
remindRingtoneView.setText(remind_ringtone.getTitle(NewReminder.this));
remind_ringtone.stop();
4

1 に答える 1

6

プログラムでRingtoneManager.getRingtoneは、オブジェクトをRingtoneクラスに返します。このオブジェクトをと見なすとmRingTone、呼び出すとオブジェクトmRingTone.stop()が解放されMediaPlayerます。

于 2013-03-16T14:54:18.827 に答える