我正在开发一个具有一些全局状态(包括几个SoundPool
s,需要一段时间才能加载)的 android 应用程序,我正在寻找管理它的最佳方法。到目前为止,我可以看到两个选项,但都不是完美的:
将状态存储在我的主目录中
Activity
- 这很好地挂钩到Activity
生命周期(有机会清理),并且我可以使用屏幕旋转onRetainNonConfigurationInstance
并getLastNonConfigurationInstance
保留状态,但是当在活动之间导航时,此状态将完全丢失并且必须重新 -加载,这将是不可接受的慢将状态存储在全局单例或
Application
子类中 - 这允许状态在活动之间的导航中持续存在,但由于 Application 没有onDestroy
事件,因此没有机会释放SoundPool
s
关于更好的方法来做到这一点的任何建议?或者我不应该担心在应用程序停止/终止时释放 SoundPools 吗?
谢谢,克里斯