Look at the Android Activity life-cycle events in the picture beside.
The lifecycle isn't something new. You're familiar with it right? You're also that good Android developer that writes clean code, wherein you consciously override onDestroy() method to include resources clean-up code and save some state, right?
Per Android doc, it is okay and usually the practice to write cleanup code in this method but not anything beyond that.
So if you are to write code to persist state in this method, or anything else beyond resource clean-up (like threads associated with an activity), you're better off to push it up the life-cycle, either in onStop() or onPause() method.
That is how I settled in the first iteration of new learning but wasn't happy. Why? To quote Android Doc: