Application

通过Application类实现维护应用全局状态的方法

application回调函数

Application对象由Android系统管理,它的回调函数都运行于UI线程,因此一定不能做耗时操作,耗时操作一定要放在其他线程

- onCreate
- onConfigurationChanged
- onLowMemory

onConfigurationChanged:语言,转屏发生变化时调用
onLowMemory:内存低时调用

application存放全局变量
public class BaseApp extends Application {
    public String name="zhang";

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
静态单例

也可实现应用全局状态的共享

  • 用Application对象实现共享
  • 用静态单例实现共享

优缺点:尽量用单例,模块化程度比较好,松耦合,方便控制,可以随时注销,register和unregister
而Application的全局变量生命周期不可控,是由app的生命周期决定的


Appcation优点:可以接受系统回调,单例不行,可以直接访问系统资源,单例需要额外的参数context访问

你可能感兴趣的:(Application)