title: What is the proper way to unregister Activity lifecycle callbacks?
body: <p>In the Android Application class you can register/unregister <a href="http://developer.android.com/reference/android/app/Application.ActivityLifecycleCallbacks.html" rel="noreferrer">ActivityLifecycleCallbacks</a>, which allow you to monitor Activity lifecycle events in your application all in one place (if you so desire). </p>
  
  <p>Where is the proper place to call <a href="http://developer.android.com/reference/android/app/Application.html#unregisterActivityLifecycleCallbacks%28android.app.Application.ActivityLifecycleCallbacks%29" rel="noreferrer">unregisterActivityLifecycleCallbacks</a>? I'm registering in <a href="http://developer.android.com/reference/android/app/Application.html#onCreate%28%29" rel="noreferrer">onCreate</a>, and was thinking that onTerminate would be the proper place just from the name of the method but the docs say for <strong>onTerminate()</strong>:</p>
  
  <blockquote>
    <p>This method is for use in emulated process environments. It will never
    be called on a production Android device, where processes are removed
    by simply killing them; no user code (including this callback) is
    executed when doing so.</p>
  </blockquote>
  
  <p>I don't see any other methods in the Application class where a 'shutdown' type callback is made. Do you even need to unregister? </p>