根据 Android文档,SoundPool.unload
返回
如果刚刚卸载,则为 true,如果先前已卸载,则为 false
我创建 SoundPool,加载 5 个声音并存储相关的 5 个声音 ID。然后在离开 Activity 之前,我unload
为每个 ID 调用,最后调用release
. 我遇到的是以下情况:
如果我以某种顺序对每个 ID 调用 unload(从地图返回的那个),我会系统地收到 ID 1..4 的 false 和 ID 5 的 true ;
如果我以与加载的 ID 相同的顺序(从 1 到 5)调用 unload,我会系统地收到所有 ID 的错误消息;
如果我以与加载时相反的顺序(5 到 1)调用卸载,我会系统地收到 ID 2-5 的 true 和 ID 1 的 false
有谁知道为什么会发生这种情况,以及如何使它返回真实?我担心的是没有正确清理资源,并且在多次加载/卸载声音后会出现一些内存问题。