【发布时间】:2011-01-19 12:19:03
【问题描述】:
我正在创建一个涉及多个短声音剪辑的 Android 应用。目前,一旦菜单活动开始第二个活动,我正在使用SoundPool 加载我的声音剪辑。我似乎遇到的问题是,一旦这个辅助活动开始,声音剪辑的加载会导致多个堆大小溢出,然后在一段时间后活动实际加载(模拟器永远不会给出错误或强制退出)。在这里使用MediaPlayer 会帮助我并防止这些堆大小溢出吗?
此外,目前,菜单活动开始第二个活动等待结果(使用startActivityForResult() 函数)。这是否意味着菜单活动被保存在内存中以及将第二个活动加载到内存中?如果是这样,我可以通过在第二个菜单活动上调用finish() 来解决我的记忆问题(然后在用户希望返回菜单时重新启动菜单活动,或者这会带来一组全新的问题?)?
【问题讨论】:
-
看起来一点也不像那个 Q 的复制品
-
您可以使用多个 SoundPool 实例来防止堆大小错误。您可以从stackoverflow.com/a/15331311/1124084找到更多详细信息
标签: android memory-management soundpool