何时将应用程序设置提交到SharedPreferences(onStop或onDestroy)

Che*_*eng 9 android

我想知道,何时是将应用程序设置保存到SharedPreferences的合适时间.我们应该在期间onStop,还是onDestroy?我意识到这两种方法各有利弊.

的onStop

如果用户意图没有退出应用程序,则将应用程序设置保存到SharedPreferences似乎是多余的.他只是按回家(onStop叫) - > 长按回家 - > 重新启动应用程序再次选择应用程序

的onDestroy

用户可以通过按home(onStop调用)来杀死应用程序- > 长按home - > 在应用程序上向左滑动以杀死它.如果用户以这种方式退出应用程序,我意识到虽然应用程序被杀死但未被调用.因此,不保存应用程序设置.onDestroy

那么,在onStop或期间保存应用程序设置是否更好onDestroy?

Rag*_*ood 16

最好commit()在进行更改后立即调用,或者在onPause()方法中调用.这可以确保您的更改几乎保存在所有方案中,但未捕获的应用程序崩溃异常除外.

此外,您应该注意,根本没有onStop()或onDestroy()保证完全被调用,特别是在Android内存不足的情况下.但是,onPause()几乎总是被称为.