活动生命周期问题
一:活动的七个生命周期
在onCreate(...)方法里,必须首先调用超类的实现方法,然后再调用其他方法。
在翻转屏幕时候,会更新Activity,这时候就需要用bundle保存好数据,根据键值来保存数据,不建议用来保存实例,可能在返回时候已经过时了
同时,建议所有的activity最好都做好数据保存工作,在内存低时候,可以自动保存,提高用户体验
在系统干掉我们的活动之前会调用 onSaveInstanceState()方法来保存一下死亡数据,如果你觉得数据还是有点价值的话,Override这个方法就可以存储死亡时候的数据。
@Override protected void onSaveInstanceState(Bundle outState) { //Bundle对应onCreate方法中的Bundul对象 super.onSaveInstanceState(outState); String tempData = "Something you just typed"; outState.putString("data_key", tempData);// }
存好了,总得取出来的。于是就有了取出的代码
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState != null) { //如果存储的数据不是空的 String tempData = savedInstanceState.getString("data_key"); //调savedInstanceState的getString()方法就可以调出数据 Log.d(“MainActivity”, tempData); } }
岑忠满的博客新站点
http://cenzm.xyz