Android 更好的Activity生命周期回调

简介: /** * This class allows you to listen to when the user is entering the background (i.e. after a home button press, * or opening recent apps etc)...
/**
 * This class allows you to listen to when the user is entering the background (i.e. after a home button press,
 * or opening recent apps etc) and when the user resumes the application from the background.
 * 
 * @author John McDonnell
 */
public class BetterActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks {
 
 
    private int mForegroundActivities;
    private boolean mHasSeenFirstActivity;
    private boolean mChangingConfiguration;
 
    @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
 
    }
 
    @Override public void onActivityStarted(Activity activity) {
        mForegroundActivities++;
 
        if (mHasSeenFirstActivity && mForegroundActivities == 1 && !mChangingConfiguration) {
            applicationDidEnterForeground(activity);
        }
 
        mHasSeenFirstActivity = true;
        mChangingConfiguration = false;
    }
 
    @Override public void onActivityResumed(Activity activity) {
 
    }
 
    @Override public void onActivityPaused(Activity activity) {
 
    }
 
    @Override public void onActivityStopped(Activity activity) {
        mForegroundActivities--;
 
        if (mForegroundActivities == 0) {
            applicationDidEnterBackground(activity);
        }
 
        mChangingConfiguration = activity.isChangingConfigurations();
    }
 
    @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
 
    }
 
    @Override public void onActivityDestroyed(Activity activity) {
 
    }
 
    /**
     * One day we'll be as cool as iOS
     */
    protected void applicationDidEnterForeground(Activity topActivity) {
 
    }
 
    protected void applicationDidEnterBackground(Activity lastActivity) {
 
    }
 
}

  

目录
相关文章
|
11月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
202 6
|
11月前
|
Java 程序员 开发工具
Android|修复阿里云播放器下载不回调的问题
虽然 GC 带来了很多便利,但在实际编码时,我们也需要注意对象的生命周期管理,该存活的存活,该释放的释放,避免因为 GC 导致的问题。
112 2
|
11月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
Android面试高频知识点(4) 详解Activity的启动流程
137 3
|
11月前
|
缓存 前端开发 Android开发
Android实战之如何截取Activity或者Fragment的内容?
本文首发于公众号“AntDream”,介绍了如何在Android中截取Activity或Fragment的屏幕内容并保存为图片。包括截取整个Activity、特定控件或区域的方法,以及处理包含RecyclerView的复杂情况。
133 3
|
11月前
|
Android开发 开发者 UED
深入理解安卓应用开发中的生命周期管理
本文旨在探讨安卓应用开发中生命周期管理的重要性,以及如何有效利用生命周期解决常见问题。通过分析安卓应用生命周期的不同阶段及其特点,提供实用的代码示例和调试技巧,帮助开发者优化应用性能,提升用户体验。
272 8
|
11月前
|
Java Android开发 UED
深入探索安卓应用开发中的生命周期管理:从创建到销毁的全过程
在安卓应用开发中,理解并妥善管理应用及活动(Activity)的生命周期至关重要。本文将详细解析从应用创建到销毁的整个生命周期过程,以及如何通过高效管理提升应用性能与用户体验。
322 4
|
XML Android开发 数据格式
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
本文通过案例分析了在Android中当两个Activity都设置了`android.intent.category.LAUNCHER`类别时,会导致它们同时在应用启动器的"所有应用"页面显示为不同的启动入口。
355 2
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
|
12月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
讲解Activity的启动流程了,Activity的启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等, 首先介绍一下Activity,这里引用一下Android guide中对Activity的介绍:
204 4
|
11月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
109 0
|
Android开发 UED 开发者
探索安卓应用的生命周期管理
【8月更文挑战第31天】在开发安卓应用时,理解并妥善处理应用的生命周期是至关重要的。本文将通过浅显易懂的方式,带你了解安卓应用的生命周期,并通过代码示例展示如何在实际应用中进行有效的生命周期管理。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和实用技巧。