ViewModel-Savedstate杀掉后台之后数据丢失了

使用ViewModel-Savedstate保存数据,杀掉后台重新打开app,数据丢失,加入依赖是最新的,请问是哪里的问题?

implementation 'androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.1'

MyViewModel

package com.example.viewmodelsavedstate;

import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.SavedStateHandle;
import androidx.lifecycle.ViewModel;

public class MyViewModel extends ViewModel {
    private SavedStateHandle handle;

    public MyViewModel(SavedStateHandle handle) {
        this.handle = handle;
    }

    public MutableLiveData<Integer> getNumber(){
        if (!this.handle.contains(MainActivity.KEY_NUMBER)){
            this.handle.set(MainActivity.KEY_NUMBER, 0);
        }
        return this.handle.getLiveData(MainActivity.KEY_NUMBER);
    }

    public void add(){
        if (getNumber().getValue() != null){
            this.getNumber().setValue(this.getNumber().getValue() + 1);
        }
    }
}

MainActivity

package com.example.viewmodelsavedstate;

import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.SavedStateViewModelFactory;
import androidx.lifecycle.ViewModelProvider;

import android.os.Bundle;
import android.util.Log;

import com.example.viewmodelsavedstate.databinding.ActivityMainBinding;

public class MainActivity extends AppCompatActivity {

    ActivityMainBinding binding;
    MyViewModel myViewModel;

    public final static String KEY_NUMBER = "my_number";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        binding = DataBindingUtil.setContentView(this, R.layout.activity_main);

        myViewModel = new ViewModelProvider(this, new SavedStateViewModelFactory(getApplication(), this)).get(MyViewModel.class);

        binding.setData(myViewModel);
        binding.setLifecycleOwner(this);

    }

}