Android中的Application
程序员文章站
2022-04-19 10:36:54
我们从一下三个方面简单介绍Android里的Application。 - **什么是Applicatoin** - **Application的生命周期** - **Application的使用**...
一:什么是Application
Application是维护应用程序全局状态的基类,应用进程启动时系统会自动创建aplication类并调用类的onCreate()函数,application类是context类的子类。我们可以自定义一个application并提供自己的实现。有点像iOS里面的applicatoin。
二:Application的生命周期
application的声明周期伴随整个应用的始终。从启动到结束。
函数 | 调用时机 | 作用 |
---|---|---|
onCreate() | Application 实例创建时调用Android系统的入口是Application类的 onCreate(),默认为空实现 | 1. 初始化 应用程序级别 的资源,如全局对象、环境配置变量、图片资源初始化、推送服务的注册等2. 数据共享、数据缓存.设置全局共享数据,如全局共享变量、方法等.注:这些共享数据只在应用程序的生命周期内有效,当该应用程序被杀死,这些数据也会被清空,所以只能存储一些具备 临时性的共享数据 |
onConfigurationChanged() | 应用程序配置信息 改变时调用 | 监听 应用程序 配置信息的改变,如屏幕旋转等 |
onTerminate() | 终止应用程序对象时调用,不保证一定被调用 | 当程序是被内核终止以便为其他应用程序释放资源,那么将不会提醒,并且不调用应用程序的对象的onTerminate方法而直接终止进程 |
onLowMemory() | 当系统资源匮乏的时候 | 我们可以在这里可以释放额外的内存, 这个方法一般只会在后台进程已经结束,但前台应用程序还是缺少内存时调用。可以重写这个方法来清空缓存或者释放不必要的资源。 |
onTrimMemory(int level) | 运行时决定当前应用程序应该减少其内存开销时(通常在进入后台运行的时候)调用 | 提供请求的上下文 |
三:Application的自定义
1,为什么要自定义application?
如果我们需要在程序启动时,运行一些全局代码时,可以创建一个自己的Application类并继承Application,
而且需要重写onCreate函数,启动Application,系统会为我们创建一个进程,所有的Activity都会在此进程上运行,那么我们在Application创建的时候初始化全局变量,同一个应用的所有Activity都可以取到这些全局变量。
2,appication自定义的步骤?
- 新建一个MyApplication继承Application。
@Override
public void onCreate() {
super.onCreate();
//这里可以提供我们自己的实现,比如:外链进来的/其他app过来的执行的一些操作或者一些开发环境变量的配置。不推荐在此执行比较耗时的操作,那样的话app启动时间会增长,影响用户体验。
}
- 在AndroidManifest文件中指定自定义的Application
本文地址:https://blog.csdn.net/weixin_38934440/article/details/107184920
推荐阅读