您的位置:首页 > 移动开发

利用Application自身特性可以代替单利模式吗

2016-07-23 15:05 302 查看
        Application类是程序启动的入口,App启动时系统会为Application创建一个对象并且在整个应用中是唯一的,也可以说Application是单例模式的一个类。而它的生命周期是最长的,相当于整个应用的生命周期。所以在应用执行过程中,在不同的类中获取到的application对象是同一个。因此可以在Application中保存一些全局变量,直到应用结束才会被释放掉,相对于静态类更有保障。

        那么Application是否能够替代应用中的单例模式呢?

        当然是可以的。但是不建议使用,原因如下:

       1、一个项目中的单例模式的类可以有很多个,分别处理不同的业务逻辑,全部放在一个Application类中来管理,显然代码量会比较庞大,业务逻辑显得混乱,而且不移维护。

       2、Application是应用启动过程中系统创建的对象,在普通java类中并没有提供该对象的调用方式,只能在四大组件中使用。如果想要在一般java类中使用,需要程序员添加单例模式的对外访问的方式。

       个人建议:application只用来初始化应用,以及传递context给其他java类(比如单例类),全局变量和单例类中的逻辑还是根据业务分类使用单例模式java类。

       以上内容仅是个人理解,欢迎纠错!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息