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) 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) {

    }

}

  

时间: 2024-10-24 18:32:53

Android 更好的Activity生命周期回调的相关文章

[Android问答] 如何理解Activity生命周期?

[Android问答] 如何理解Activity生命周期? Android官方文档里对Activity的生命周期有比较详尽的描述,但由于资源回收机制带来不确定性,我们的程序运行结果常常与预期的不符,而调试这类问题又十分消耗时间和精力.解决的根本办法还是要理解透Activity的生命周期及相关内容,这篇帖子着重介绍Activity生命周期本身,之后会用一两篇帖子来介绍如何处理异常的状态变化. 下图是官方文档里的Activity生命周期图,其中彩色标出的四个框是Activity的四种状态,当Acti

Android开发 - Fragment与Activity生命周期比较

1. Fragment的生命周期 见下图   2. 与Activity生命周期的对比 见下图   3. 代码场景演示实例 切换到该Fragment: AppListFragment(7649): onAttachAppListFragment(7649): onCreateAppListFragment(7649): onCreateViewAppListFragment(7649): onActivityCreatedAppListFragment(7649): onStartAppListF

Android开发中重要组件activity 生命周期以及启动模式分析

Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务. Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件. 在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应.Activity之间通过Intent进行通信. Activity生命周期 安卓活动由一个返回栈管理 安卓活动有四个状态 1.运行状态 当一个活动位

Android Activity生命周期

 1. Android系统有四个重要的组件,分别是:Activity  Service  BroadcastReceiver  ContentProvider     Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件   Android应用程序可以包含一个或多个Activity,一般在程序启动后会呈现一个Activity,用于提示用户程序已经正常启动.  2.事件的回调函数: public class MyActivity extends Ac

详解 Android Activity 生命周期

从以下几个方面详细说一下Activity的生命周期: 1.回到主屏幕再打开和退出程序的时候. 2.屏幕旋转的时候. 3.打开其它的Activity的情况. 4.打开一个Layou透明的Activity的情况. 源代码:MyApplication.7z 先来一张Activity的生命周期图镇楼. 新建一个工程,实现如图所示的生命周期的所有方法,只是在方法里添加一个打印输出,让我们能清楚的看到 当前Activity执行的生命周期回调方法. @Override protected void onSta

Android Activity生命周期和堆栈管理的详解

Activity的生命周期 Activity是Android中的四大组件之一,也是最基本,最重要的组件,是android系统提供一个可视化的,能与用户交换的组件. 系统提供的组件,不需要用户实例化,用户也不能实例化,是系统进行回调,例如web开发的servlet也是系统提供的,和android 的其他系统组件一样. 那么不需要我们实例化我们怎么用呢,这些组件都有相同的特点就是: 1.都需要在配置文件中注册 2.都需要自定义类去继承系统的Api 3.都有自己的生命周期 那么Activity的生命周

Android应用开发(二):Activity生命周期剖析以及如何启动新的Activity或网页

本文讲述组件Activity的相关知识,主要包括如何启动一个Activity.如何打开一个网页,最后解析Activity的生命周期相关知识. 1.如何启动一个Activity (1).新建一个Activity 要启动一个新的Activity,就必须先创建一个新的Activity,Android Studio可以直接创建Activity而不需要一行一行的敲代码,这就是前面所说的采用Android Studio平台的好处之一. 具体代码如下: package edu.fred.hqu.android

【Android】Activity生命周期

转载至:http://blog.csdn.net/liuhe688/article/details/6733407 子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精髓. 近来回顾了一下关于Activity的生命周期,参看了相关书籍和官方文档,也有了不小的收获,对于以前的认知有了很大程度上的改善,在这里和大家分享一下. 熟悉javaEE的朋友们都了解serv

Android中Activity生命周期和启动模式详解_Android

Activity生命周期经典图解: 按键对生命周期的影响: BACK键: 当我们按BACK键时,我们这个应用程序将结束,这时候我们将先后调用onPause()->onStop()->onDestory()三个方法. 再次启动App时,会执行onCreate()->onStart()->onResume() HOME键: 当我们打开应用程序时,比如浏览器,我正在浏览NBA新闻,看到一半时,我突然想听歌,这时候我们会选择按HOME键,然后去打开音乐应用程序,而当我们按HOME的时候,A