为了账号安全,请及时绑定邮箱和手机立即绑定

Application - ActivityLifecycleCallbacks

标签:
Android

在Application 中看到 registerActivityLifecycleCallbacks(mCallbacks); 

出于好奇就去网上找了相关资料,做好笔记:

            Application通过ActivityLifecycleCallbacks使用接口提供了一套回调方法,用于让开发者对 Activity的生命周期事件进行集中处理。 

    ActivityLifecycleCallbacks接口回调可以简化监测Activity的生命周期事件,在一个类中作统一处理。 

    使用要求API 14+ (Android 4.0+)//现在基本上已经没有低于14的开发了吧   - . -!!

       如需满足较复杂的统计或调试需求时,此法可能会大大减少插入代码量,提高效率.


使用方法:

@Override
   public void onCreate() {
       super.onCreate();
       sInstance = this;
       registerActivityLifecycleCallbacks(mCallbacks);
   }

private ActivityLifecycleCallbacks mCallbacks = new ActivityLifecycleCallbacks() {

    @Override
    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
        Log.d(TAG, "onActivityCreated() called with: activity = [" + activity + "], savedInstanceState = [" + savedInstanceState + "]");
    }

    @Override
    public void onActivityStarted(Activity activity) {
        Log.d(TAG, "onActivityStarted() called with: activity = [" + activity + "]");
    }

    @Override
    public void onActivityResumed(Activity activity) {
        Log.d(TAG, "onActivityResumed() called with: activity = [" + activity + "]");
    }

    @Override
    public void onActivityPaused(Activity activity) {
        Log.d(TAG, "onActivityPaused() called with: activity = [" + activity + "]");
    }

    @Override
    public void onActivityStopped(Activity activity) {
        Log.d(TAG, "onActivityStopped() called with: activity = [" + activity + "]");
    }

    @Override
    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
        Log.d(TAG, "onActivitySaveInstanceState() called with: activity = [" + activity + "], outState = [" + outState + "]");
    }

    @Override
    public void onActivityDestroyed(Activity activity) {
        Log.d(TAG, "onActivityDestroyed() called with: activity = [" + activity + "]");
    }
};

    在AndroidManifest里启用自定义Application.

public class BaseApplication extends Application {

    private static final String TAG = "BaseApplication";

    private static BaseApplication sInstance;

    public static Context getInstance() {
        return sInstance;
    }
<application
    android:name=".base.BaseApplication" ....>

...

Application方法介绍

5b9bce7a0001cc9f09590609.jpg

        OnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLowMemory。系统提供的回调有:

  • Application.onLowMemory()

  • Activity.OnLowMemory()

  • Fragement.OnLowMemory()

  • Service.OnLowMemory()

  • ContentProvider.OnLowMemory()

原文链接:http://www.apkbus.com/blog-535369-68166.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消