4

我正在创建一个涉及多个短声音剪辑的 Android 应用程序。目前,SoundPool一旦菜单活动开始第二个活动,我正在使用加载我的声音剪辑。我似乎遇到的问题是,一旦这个辅助活动开始,声音剪辑的加载会导致多个堆大小溢出,然后在一段时间后活动实际加载(模拟器永远不会给出错误或强制退出)。会在MediaPlayer这里使用帮助我并防止发生这些堆大小溢出吗?

此外,目前,菜单活动开始第二个活动等待结果(使用该startActivityForResult()功能)。这是否意味着菜单活动被保存在内存中以及将第二个活动加载到内存中?如果是这样,我可以通过在启动第二个菜单活动后调用菜单活动来解决我的记忆问题finish()(然后在用户希望返回菜单时重新启动菜单活动,或者这会带来一系列全新的问题吗?) ?

4

1 回答 1

5

是的,soundpool 会将所有声音保存在内存中。您可能只需要在此处查看一个媒体播放器实例。您应该这样做,您的记忆问题应该会消失,而无需采取任何极端措施。

于 2011-01-28T13:51:06.403 回答