Android应用程序运行时都会创建一个Application类的实例,每个Android进程只会创建一个,所以Application在进程中是一个单例(singleton)模式的类。Application实例是随进程启动而创建,生命周期也是伴随整个进程的生命周期,是整个程序中最长的。通常如果我们不创建自己的Application,系统会自动创建,如果需要创建自己的Application,只需要创建一个继承自Application的类,并在AndroidManifest.xml文件中application标签增加name属性注册即可。如下MyApplication既是自定义的Application。
<application
android:name=".application.MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</application>
自定义Application主要作用:
1、在应用程序组件之间传递数据
2、创建应用程序级的全局变量
3、管理和维护多个应用程序组件使用的资源
4、对Android运行时广播的应用程序级事件做出响应,如内存低时
自定义Application类,这里是为应用微信第三方登录平台而创建
public class MyApplication extends Application {
private static MyApplication instance=null;
public String appID="wxfca65ea6785082e2";
public String appSecret="微信开放平台申请的";
public IWXAPI iwxapi;
@Override
public void onCreate() {
super.onCreate();
this.instance=this;
iwxapi= WXAPIFactory.createWXAPI(this,appID,true);// (this, Constants.APP_ID);
iwxapi.registerApp(appID);
}
public static MyApplication getInstance(){
return instance;
}
}
Activity获得Application实例
MyApplication app=(MyApplication)
getApplication();