How to get onTrimMemory callback with level int using androidx / support Fragment

Viewed 324

Previously I was using android.app.Fragment which provided ComponentCallbacks2. I am now migrating my app to use androidx Fragment. However it says 'onTrimMemory overrides nothing'. I look and see that androidx Fragment only provides ComponentCallbacks. Is there any way to workaround and get the level int?

1 Answers

You can implement ComponentCallbacks2 in your Fragment and register it using Context.registerComponentCallbacks:

public class MyFragment extends Fragment implements ComponentCallbacks2 {

    @Override
    public void onAttach(@NonNull Context context) {
        super.onAttach(context);
        context.registerComponentCallbacks(this);
    }

    @Override
    public void onDetach() {
        requireContext().unregisterComponentCallbacks(this);
        super.onDetach();
    }

    @Override
    public void onTrimMemory(int level) {

    }
}
Related