Activity的状态通常情况下系统会自动保存,只有当我们需要保存额外的数据时才需要使用到这样的功能。
一般来说,调用onPause()和onStop()方法后的activity实例仍然存在于内存中,activity的所有信息和状态数据不会消失,当activity重新回到前台之后,所有的改变都会得到保留。
但是当系统内存不足时,调用onPause()和onStop()方法后的activity可能会被系统销毁,此时内存中就不会有该activity的实例对象了,如果之后这个activity重新回到前台,之前所做的改变就会消失。为了避免此种情况的发生,我们可以覆写onSaveInstanceState()方法。onSaveInstanceState()方法接受一个Bundle类型的参数,开发者可以将状态数据存储到这个Bundle对象中,这样即使activity被系统摧毁,当用户重新启动这个activity而调用他的onCreate()时,上述的Bundle对性爱那个会作为实参传递给onCreate()方法,开发者可以从Bundle对象中取出保存的数据,然后利用这些数据将activity恢复到被摧毁之前的状态。
如何保存Activity的状态
最新推荐文章于 2022-07-01 10:18:03 发布