首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwiftUI EnvironmentObject寿命

SwiftUI EnvironmentObject寿命
EN

Stack Overflow用户
提问于 2022-05-31 19:01:36
回答 1查看 199关注 0票数 1

使用SwiftUI,注入到MainApp()视图(WindowGroup)中的环境对象将保留所有数据,直到应用程序完全关闭。(如果你把应用程序打开在后台,数据将被保留)如果我的理解是正确的,这难道不是一种基本的缓存吗?只有当应用程序完全关闭时,数据才会被保留和销毁,这与NSCache是一样的。环境对象的寿命就是这样工作的吗?

EN

回答 1

Stack Overflow用户

发布于 2022-06-01 03:31:39

说大也大吧。如果环境存在(在这种情况下,只要WindowGroup存在,环境对象就应该存在)。从这个意义上说,这是一个“全球性”。

但是,除非你做一些不寻常的事情,否则这个物体就会一直存在。它会一直占用你的记忆。

当系统存在内存压力时,NSCache实现了许多旨在动态释放内存的行为。环境部将不会实施这些措施。

NSCache只是一个对象,没有任何继承可以使它作为全局对象运行--除非您将其存储在全局(静态)变量中。

您可以在SwiftUI环境中的任何地方放置缓存,但在我看来,它并不特别像NSCache

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72452931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档