onPause()
应该用于保存persistent
数据,onSaveInstanceState(Bundle)
通常用于保存non-persistent
数据。这是什么意思?持久数据和非持久数据有什么区别?
持久性数据:
完全关闭应用程序后可用的数据。
此类数据必须保存到共享首选项或数据库或内部或外部存储器中
非持久性数据:
完全关闭应用程序后不可用的数据。我们可以说,非持久性数据是指在应用程序执行期间可用的易失性数据。
持久数据是您希望在完全关闭并重新启动应用程序后仍可用的数据。
在本地保护此数据的三种最常见方法是使用 SharedPreferences、本地数据库或文件系统(将数据存储为文件)。
Android 开发者为此提供了指南: http://developer.android.com/training/basics/data-storage/index.html
onPause() 应该用于保存持久数据
提交将在应用程序的整个生命周期中使用的数据。例如数据库内的数据或共享首选项。
onSaveInstanceState(Bundle) 通常用于保存非持久数据
提交特定于当前视图会话的数据。例如,跟踪屏幕上视图的当前状态。
持久数据:完全关闭应用程序后可用的数据。此类数据必须保存到共享首选项或数据库或内部或外部存储器中。非持久性数据:完全关闭应用程序后不可用的数据。