I agree with the general principle but it doesn't apply easily to Android apps.
Each Android Activity should be considered as its own indidivual entity, and operations that are not background work jobs should not continue running in the background if no Activity is visible in the foreground to listen to them. It’s not a simple recommendation, the OS enforces this in various ways: by stopping the CPU when the phone screen is off, disallowing some apps to download data from the network when they are in the background, or simply just killing the process of a background app in order to free memory, then restoring it later when the user returns to it.
Also, not everything can or should be cached in a global state, many times it makes sense to only cache the state of the current Activity then discard it when the Activity is gone.