Application 的简单介绍和生命周期

本文深入解析了Android中Application类的生命周期,包括onCreate、onTerminate等关键方法的作用及应用场景,阐述了如何通过Application进行全局初始化、数据共享和监听配置变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

每个app都有一个application实例,如果我们没有继承他,app就会创建一个默认的实例。
application有这个和app一样的长的生命周期,当app开启的时候,application的实例就会创建,app销毁的时候也会随之销毁。下面我们看一下他的使用方法。
public class Myapplication extends Application {

    final String TAG = "MyAppcliation";

    @Override
    public void onCreate() {

        /**
         *在应用程序启动之前,在
         创建任何其他应用程序*对象之前调用。实现应该尽可能快
         *(例如使用状态的延迟初始化),因为
         在此函数中花费的时间直接影响
         在进程中启动*第一个活动,服务或接收器的性能。
         *如果重写此方法,请务必调用super.onCreate()。
         */
        //这个函数是当程序刚开始的时候就会被调用,在程序刚开始的时候执行

        Log.e(TAG, "onCreate: ");
        super.onCreate();
    }

    @Override
    public void onTerminate() {
        Log.e(TAG, "onTerminate: ");
        super.onTerminate();
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        Log.e(TAG, "onConfigurationChanged: ");
        super.onConfigurationChanged(newConfig);
    }

    @Override
    public void onLowMemory() {
        Log.e(TAG, "onLowMemory: ");
        super.onLowMemory();
    }

    @Override
    public void onTrimMemory(int level) {
        Log.e(TAG, "onTrimMemory: ");
        super.onTrimMemory(level);
    }
}

1,首先,onCreate方法在Appliaction创建的时候调用,一般用于初始化一些东西,在这里不应该做过多的任务,如果任务过多就会直接影响我们第一个activity/service。如果你要重写这个方法必须调用super.onCreate()。

2,onTerminate :这个方法在程序结束的时候会调用,但是这个方法只用于在Android仿真机测试的时候,在android产品机上是不会调用的,所以这个方法并没有什么用。

3,onConfigurationChanged:重写此方法可以监听App一些配置信息的改变事件(如屏幕旋转)。当配置改变时会调用这个方法,这Manifest文件下的Activity标签里面配置 android:configChanges 相应的属性,会是activity配置在改变时不会冲洗,只会执行onConfigurationChanged()方法,如 android:configChanges="keyboardHidden|orientation|screenSize"可以是activity旋转是不重启.

4,onLowMemory:这个方法的作用是监听系统整体内存较低的时刻,当系统内存比较低时 会调用这个方法。

5,onTrimMemory:通知 应用程序 当前内存使用情况(以内存级别进行识别)
在这里插入图片描述


应用场景

从这个类的方法可以看出,Application类的应用场景有:

  • 初始化 应用程序,如全局的对象,环境配置等。
  • 数据共享,数据缓存,设置全局共享变量,方法等。
  • 获取应用程序当前的内存使用情况,意识释放资源,从而避免被系统杀死。
  • 监听应用程序配置信息的改变,如屏幕旋转等。
  • 监听应用程序内所有Activity生命周期

具体使用:
1,继承Application类

public class Myapplication extends Application {

    final String TAG = "MyApplication";


    public String  My(){
        return TAG;
    }
}

2,在配置中定义Application的子类

<application
        ......
        android:name=".Myapplication"
        tools:ignore="GoogleAppIndexingWarning">
        
</application>

3,使用自定义的Application类实例


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Myapplication application = (Myapplication) getApplication();
        Log.e("onCreate", "onCreate: ;application.My()");
        ......

结果如下:

E/onCreate: onCreate: ;MyApplication

总结一下:
在这里插入图片描述
以上就是Application的生命周期和简单的介绍。

参考自

如有错误,还请指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tʀᴜsᴛ³⁴⁵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值