活动被以外回收,数据丢失了咋办

版权声明:本文为博主原创文章,未经博主允许不得转载。 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);
	}

}

猜你喜欢

转载自blog.csdn.net/wangxuewei111/article/details/44736483
今日推荐