activity的onCreate(Bundle saveInstanceState)中入参的概念和使用

    我直奔主题吧,这个参数我们基本很少使用。看下面的代码和注释就懂了。

  

/**
 * @author ChenYe
 */
public class MainActivity extends AppCompatActivity {

    private static final String TAG = "cy===MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        /**
         * savedInstanceState的作用是,当activity被系统回收的时候会调用 onSaveInstate(Bundle savedInstanceState)来保存东西,
         * 那么下一次启动这个Activity的时候会在onCreate的时候保存的东西再传递进来。比如横竖屏切换的时候,会重新走这个onCreate,
         * 如果你在onSaveInstanceState里面存数据的话就可以拿到
         */
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState != null) {
            String date = (String) savedInstanceState.get("date_test");
            Log.i(TAG, "日期:" + date);
        }
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putString("date_test", "2017-10-31");
    }
}

你可能感兴趣的:(activity)