版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangxuewei111/article/details/44736483
package com.example.activitytest;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
public class saveBeforeActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.save_before_layout);
if(savedInstanceState != null){
String tempDate = savedInstanceState.getString("date_key");
Log.d("=========tempDate=========", tempDate);
}
}
/**
*
* 比如,有一个文本输入框,现在你输入一段文字,然后启用另一个activity,这是由于系统内存
* 不足主activity被回收,过一会你又点击了back键回到activity,你会发现刚才输入的文字没了
*
* onSaveInstanceState()回调方法,保证一定在活动被回收之前调用,因此我们可以通过这个方法
* 来解决活动被回收时临时数据得不到保存的问题
*/
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
String tempDate = "something you just types";
outState.putString("date_key", tempDate);
}
}