使用Application实现全局变量
首先我们要知道Application的生命周期就是整个应用的生命周期,然后我们就可以利用Application的持久特性实现App内部全局数据的保存和获取。 适合在Application中保存的的全局变量一般是会被应用频繁读取的信息,或者一些网络上获取的临时数据,因为从内存的读写速度要比读写数据库和文件快得多,具体操作如下:
1.定义MianApplication继承Application 并在清单文件指定name:
android:name=".MianApplication"
2.采用单例模式内部声明自身的一个静态成员对象,在创建App时把自身赋给这个静态对象,提供静态对象的获取方法getInstance() 3.使用MianApplication.getInstance() 操作全局变量
代码如下:
public class MainApplication extends Application {
//声明一个当前应用的静态实例
private static MainApplication mApp;
//声明一个公共对象,当作全局变量使用
public HashMap<String, Object> mMap = new HashMap<>();
//用单例模式获取当前应用的唯一实例
public static MainApplication getInstance() {
return mApp;
}
@Override
public void onCreate() {
super.onCreate();
//在应用启动时对实例对象赋值
mApp = this;
}
}