4

根据 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

有谁知道为什么会发生这种情况,以及如何使它返回真实?我担心的是没有正确清理资源,并且在多次加载/卸载声音后会出现一些内存问题。

4

0 回答 0