【6.13】Application的一点理解
从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()在退出时不一定会被调用,所以比较不可靠,所以只建议做全局变量的设置