从Manifest.xml中可以看出,Activity、Service等组件的定义之前,还有一个更高一级的标签,就是Application,这个才是程序的真正入口,可以做全局变量的设置
Application在每个工程中只能定义一次,定义一个类,继承自Application,可重写的方法有
void onConfigurationChanged(Configuration newConfig)
void onCreate()
void onLowMemory()
void onTerminate()
可在类中定义全局变量,定义setter和getter方法
在使用全局变量的地方(假设类名为Global)
Global global = (Global) getApplicationContext();
global.setGlobalVariable("Change");
String text = global.getGlobalVariable();
在Manifest.xml中注册android:name="包名+类名",不用新建,因为Application在整个程序中只有一个
实践证明:application要在进程被彻底关掉时才会退出,生命周期比Activity长多了,而且onTerminate()在退出时不一定会被调用,所以比较不可靠,所以只建议做全局变量的设置