栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android中的单例与应用程序上下文?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android中的单例与应用程序上下文?

我非常不同意Dianne Hackborn的回应。我们会逐步从项目中删除所有单例,以支持轻量级的,任务范围内的对象,可以在你实际需要它们时轻松地重新创建它们。

单例是测试的噩梦,如果延迟初始化,将引入“状态不确定性”,并带有微妙的副作用(当将调用

getInstance()
从一个作用域移到另一个作用域时可能会突然浮出水面)。已经提到了可见性是另一个问题,并且由于单例意味着对共享状态的“全局”(=随机)访问,因此当在并发应用程序中未正确同步时,可能会出现细微的错误。

我认为这是一种反模式,这是一种糟糕的面向对象风格,从本质上讲相当于维持全局状态。

回到你的问题:

尽管应用程序上下文本身可以视为单例,但它是框架管理的,并且具有明确定义的生命周期,范围和访问路径。因此,我认为,如果你确实需要管理应用程序全局状态,则应该在这里,无处可去。对于其他任何事情,请重新考虑是否确实需要单例对象,或者是否有可能重写你的单例类以实例化执行手头任务的小型短期对象。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/365670.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号