2

我正在使用 Android AudioRecord 应用程序。如果我没有release()在脚本末尾调用 AudioRecord 对象上的方法,它将无法正确运行,直到我重新启动手机。

在处理这个项目时,这成为一个主要的麻烦,因为如果应用程序崩溃(有时在测试时发生并且存在意外的缓冲区溢出等),那么我每次都必须重新启动手机。

我有在finalize()我的 AudioListener 类的方法中释放缓冲区的方法,我也将它们onStop()称为主 Activity。

当应用程序冻结或崩溃时,这些似乎都不起作用。有没有办法将释放操作附加到错误处理程序或确保应用程序即使在崩溃后也能执行某些代码以正确释放资源的一般方法。

谢谢你的帮助。

4

1 回答 1

3

创建自己的Application类(需要在AndroidManifest.xml中声明)然后覆盖方法:

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

有关它的更多信息,请参阅 Android 手册Application

于 2010-12-24T07:26:11.047 回答