Android防止活动被回收而丢失数据

Posted (?ω?)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android防止活动被回收而丢失数据相关的知识,希望对你有一定的参考价值。

首先从写onSaveInstanceState方法,该方法在活动销毁前一定会执行,如下将所需的数据传入到Bundle中

protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    String tempData="Some thing save before";
    outState.putString("data_key",tempData);
}

当活动再次创建时将所需的值取出,与intent传值一样使用getString方法取值,Bundle可以和intent一起使用,如把一个Bundle对象放入到intent中传递

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if(savedInstanceState!=null){
        String temp=savedInstanceState.getString("data_key");
        Log.d(TAG, temp);
    }

 












以上是关于Android防止活动被回收而丢失数据的主要内容,如果未能解决你的问题,请参考以下文章

Android中活动被回收了怎么办

活动被回收和数据保存

Android中活动被回收了怎么办

如何防止android应用中的service被系统回收

防止android在崩溃后重新创建活动堆栈

切换活动而不会丢失自定义数据