zoukankan      html  css  js  c++  java
  • Application类

    描述:

      android.app.Application类和Activity, Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息。

      Android系统会自动在每个程序启动时创建一个Application类的对象且只创建一个。Application是一个单例类(Singleton)。

      通常我们是不需要指定一个Application类的,系统会自动为我们创建,如果需要创建自己的Application类,只需要新建一个类并继承,同时需要在AndroidManifest.xml文件中的application标签中加入name属性即可。启动时Application时,系统会创建一个PID,即进程ID,所有的Activity都会在此进程上运行。那么我们在Application类中初始化全局变量时,所有的Activity类都可以取到。Application对象的生命周期是整个程序中最长的,它的生命周期就等于整个程序的生命周期。因为它是全局,单例的。所有的Activity,Service中获得的对象都是同一个对象,所以可以用它来做数据传递,数据共享和数据缓存。也可以将一些全局的 初始化操作放到这个类中去实现,如:Volly的RequestQueue对象。

    以下是代码块:

    这个是Application类

    public class App extends Application {
        private static final App instance = new App();
        private String name="CarMi";
    
        /**
         * android应用程序的真正入口,
         * 此方法在所有activity service receiver组件之前调用
         */
        @Override
        public void onCreate() {
            super.onCreate();
            Log.i("CREATE", "application created");
            init(getApplicationContext());
        }
    
        private void init(Context c) {
            VolleyHttpUtil.getInstance().setContext(c);
        }
    }
    

    AndroidManifest.xml文件中的定义:

    <application
            android:name=".base.App"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
    

    可以看到我们在Application类中加入了init()方法,这里面可以去做一些初始化的操作,如实例化一些全局的对象,也可以初始化第三方sdk等等

      

  • 相关阅读:
    c# Array.Sort() 对数组排列
    【软件配置】JDK+AndroidStudio4.1开发安卓APP环境安装和配置教程详细
    【QT】跨线程的信号槽(connect函数)
    【QT】QtConcurrent::run()+QThreadPool实现多线程
    【QT】继承QRunnable+QThreadPool实现多线程
    【QT】子类化QObject+moveToThread实现多线程
    【QT】子类化QThread实现多线程
    【QT】QThread源码浅析
    【C++】 C++异常捕捉和处理
    【QT】 Qt之QComboBox删除下拉item时出现段错误
  • 原文地址:https://www.cnblogs.com/shinhwa/p/5143032.html
Copyright © 2011-2022 走看看