React Native:是否可以在应用程序重新加载时保留本机 Java 变量值?

React Native: Is it possible to persist native Java variable values on app reload?

是否可以在重新加载 JS 时在自定义 React Native 模块中维护 Java 变量的值?为了调试目的,我想在下面的代码中维护 components 。如果应用程序进入后台,它会在 onHostResume 上持续存在,但在重新加载时该值会丢失。

public class CustomModule extends ReactContextBaseJavaModuleWithEvents implements LifecycleEventListener {

    public List<JsonObject> components = new ArrayList<>();

    public CustomModule(ReactApplicationContext reactContext) {
        super(reactContext);
        reactContext.addLifecycleEventListener(this);
    }

    @ReactMethod
    void addComponents(component) {
        // add some components...
        components.add(component);
    }

    @Override
    public String getName() {
        return "CustomModule";
    }

    @Override
    public void onHostResume() {
        getReactApplicationContext()
            .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
            .emit("DEBUG_TAG", components.toString());
    }

}

每次重新加载 JS 代码都会创建一个新的 CustomModule 实例来重新初始化组件。我应该将组件列表设置为静态 class 变量,这样它只被初始化一次。

public class CustomModule extends ReactContextBaseJavaModuleWithEvents implements LifecycleEventListener {

    public static List<JsonObject> components = new ArrayList<>();

}