2

私は Android AudioRecord アプリを使用しています。release()スクリプトの最後で AudioRecord オブジェクトのメソッドを呼び出さないと、電話を再起動するまで正しく動作しません。

アプリがクラッシュした場合 (テスト中に時々発生し、予期しないバッファー オーバーフローが発生した場合など)、毎回電話を再起動する必要があるため、このプロジェクトに取り組んでいるとき、これは大きな問題になります。

finalize()AudioListener クラスのメソッド内にバッファを解放するメソッドがあり、それらonStop()をメインのアクティビティからも呼び出します。

アプリがフリーズまたはクラッシュすると、これらのどちらも機能しないようです。リリース アクションをエラー ハンドラーにアタッチする方法や、アプリがコードを実行してクラッシュ後でもリソースを適切に解放することを保証する一般的な方法はありますか。

助けてくれてありがとう。

4

1 に答える 1

3

独自の Application クラスを作成し (AndroidManifest.xml で宣言する必要があります)、メソッドを上書きします。

Application.onLowMemory();
Application.onTerminate();

詳細については、Android のマニュアルを参照してください。Application

于 2010-12-24T07:26:11.047 に答える