Android中活动被回收了怎么办

宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述Android中活动被回收了怎么办相关的知识,希望能为你提供帮助。
当一个活动进入到了停止状态,是有可能被系统回收的。按下返回键的时候,活动被重新创建一次,但是里面的数据就没办法重现:
这时Activity中提供了一个onSaveInstanceState()回调方法,保证在活动被回收之前一定会被调用。
onSaveInstanceState()方法会携带一个Bundle类型的参数,Bundle提供了一系列的方法用于保存数据,如putString(),putInt()。

//活动被回收后数据的保存操作方法
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
String tempData = "https://www.songbingjia.com/android/Something you just typed";
outState.putString("data_key",tempData);
}


其实onCreate()方法也有一个Bundle类型的参数,一般情况下为null,但是如果活动被系统回收之前有onSaveInstanceState()方法,这个参数就会保存之前活动的数据内容

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG,"onCreate");
setContentView(R.layout.activity_main);
//活动被回收后,再次创建时数据的恢复
if (savedInstanceState!=null){
String tempData = https://www.songbingjia.com/android/savedInstanceState.getString("data_key");
Log.d(TAG,tempData);
}
}

【Android中活动被回收了怎么办】 

    推荐阅读