活动生命周期问题

一:活动的七个生命周期

onCreate(...)方法里,必须首先调用超类的实现方法,然后再调用其他方法。

2016-11-02_1610142             

 在翻转屏幕时候,会更新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);
    }
}
岑忠满的博客新站点 https://cenzm.xyz
原文地址:https://www.cnblogs.com/cenzhongman/p/6023579.html