保存Activity的临时数据

当活动被系统回收了,临时的数据也会被回收,打个比方我们在微信发信息的时候,突然进来一个电话,然后系统内存不足,微信的活动被系统回收了,但你聊完电话再返回为微信的活动发现之前打的文字都没有了,这是一个糟糕的体验。Activity提供一个onSaveInstanceState()的方法,在活动被回收之前把临时的数据保存起来时,在MainActivity中添加如下代码:

@Override
	protected void onSaveInstanceState(Bundle outState) {
		// TODO Auto-generated method stub
		super.onSaveInstanceState(outState);
		String tempData = "Something you just typed";
		outState.putString("data_key", tempData);
	}
然后通过onCreate()方法提取出来,代码如下:

protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		if(savedInstanceState != null){
			String tempData = savedInstanceState.getString("data_key");
			Log.e("tag", tempData);
		}
	}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章