欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android中的Application

程序员文章站 2022-07-15 12:29:26
...

一:什么是Application

Application是维护应用程序全局状态的基类,应用进程启动时系统会自动创建aplication类并调用类的onCreate()函数,application类是context类的子类。我们可以自定义一个application并提供自己的实现。有点像iOS里面的applicatoin。

二:Application的生命周期

application的声明周期伴随整个应用的始终。从启动到结束。

Android中的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自定义的步骤?

  1. 新建一个MyApplication继承Application。
  @Override
    public void onCreate() {
        super.onCreate();
        //这里可以提供我们自己的实现,比如:外链进来的/其他app过来的执行的一些操作或者一些开发环境变量的配置。不推荐在此执行比较耗时的操作,那样的话app启动时间会增长,影响用户体验。
    }
  1. 在AndroidManifest文件中指定自定义的Application
    Android中的Application
相关标签: Android android