Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我的自定义偏好消失后如何清理_Android_Android Activity_Preference - Fatal编程技术网

Android 我的自定义偏好消失后如何清理

Android 我的自定义偏好消失后如何清理,android,android-activity,preference,Android,Android Activity,Preference,我的应用程序中有一个自定义的,它使用一个(当滑块位置改变时,它是一个音量控制滑块,可以播放一个样本) 当我的首选项停止显示时,我想在声音池上调用unload(),以便在我之后进行清理。有一个好地方可以这样做吗?在活动中我会把它放在ondestory()中 我猜测了一下onPrepareForRemoval(),但似乎没有调用它。最后,我找不到一个可靠的位置来清除首选项中的资源。我所采取的方法是使用一个定制的PreferenceActivity,并在其中为其子首选项管理SoundPool资源。因此

我的应用程序中有一个自定义的,它使用一个(当滑块位置改变时,它是一个音量控制滑块,可以播放一个样本)

当我的首选项停止显示时,我想在声音池上调用
unload()
,以便在我之后进行清理。有一个好地方可以这样做吗?在
活动中
我会把它放在
ondestory()


我猜测了一下
onPrepareForRemoval()
,但似乎没有调用它。

最后,我找不到一个可靠的位置来清除首选项中的资源。我所采取的方法是使用一个定制的PreferenceActivity,并在其中为其子首选项管理SoundPool资源。因此,在PreferenceActivity的onCreate()中创建声音池,并在onDestroy()中关闭它,就像在任何活动中使用声音池一样

(我的孩子偏好通过简单地将他们的上下文对象强制转换到我的自定义首选项活动并使用getter来获取声音池。我知道这样手动强制转换上下文有点不舒服,但我看不出有什么地方这个自定义偏好的上下文不是我的自定义首选项活动……)