Android 監控應用中所有Activity 的生命週期
阿新 • • 發佈:2019-01-08
眾所周知,我們可以在Activity 裡面監控當前Activity 的生命週期,比如onResume() ,onCreate() 等等。如果想監控所有Activity 的生命週期呢?你可能會說那在BaseActivity 裡面去寫啊,用集合記錄。當然這能做到,可是有沒有更簡單的辦法呢?
其實我們可以在Application 的onCreate() 裡去註冊一個監聽:
這樣就可以監控整個應用的生命週期了。還可以做到判斷當前應用是否在後臺。具體能做什麼,你可以發揮你的想象了。public class MyApplication extends Application { public static MyApplication app; @Override public void onCreate() { super.onCreate(); app = this; this.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { // Log.v("tag_2","onActivityCreated" + activity.getClass().getName()); } @Override public void onActivityStarted(Activity activity) { } @Override public void onActivityResumed(Activity activity) { } @Override public void onActivityPaused(Activity activity) { } @Override public void onActivityStopped(Activity activity) { } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { } @Override public void onActivityDestroyed(Activity activity) { // Log.v("tag_2","onActivityDestroyed" + activity.getClass().getName()); } }); } }