gpt4 book ai didi

ios - 拍摄应用快照后,当我的 iOS 应用进入后台时,如何节省 subview 中使用的内存

转载 作者:行者123 更新时间:2023-12-01 18:52:07 24 4
gpt4 key购买 nike

我看到很多关于人们试图从他们的应用程序快照中隐藏敏感信息的帖子,以便在多任务应用程序选择器中不可读。但我有一个不同的问题。

我试图在我的应用程序进入后台时尽可能多地节省内存,而我的应用程序的一个 View 有很多 subview ,这是我整个应用程序的最大内存使用量。我已经编写了删除和删除这些 subview 的代码,然后当应用程序返回前台时我会重新创建这些 subview (我实际上在 resign active 中调用了这些方法并且确实成为了 active 方法)。一切正常,但是当我删除这些 subview 时, View 正确地显得相当空,正好 catch 系统应用程序快照。因此,当应用程序恢复时,这个空 View 会在应用程序正确呈现之前显示一小段时间。

我希望能够管理这些 View ,但我想它需要在应用程序快照发生之后发生。

实际分析应用程序的内存使用情况我注意到,当应用程序在前台绘制时,即使我自己没有手动删除 View ,当应用程序处于后台时,这些 View 也会立即下降。文档清楚地表明,实际的支持 CA 层等都由系统处理,因此谢天谢地,大部分内存节省已经由系统本身实现。但是我仍然可以通过执行我在这里描述的操作来节省另外 5 到 10 毫克,所以这感觉是个好主意。有可能吗?

我想知道我是否应该要求再运行一段时间,我认为我认为这可能是解决方案?特别是如果在给应用程序额外的时间之前拍摄应用程序快照。这意味着屏幕截图是正确的,并且内存会在一瞬间保存。

感谢您的时间,干杯!

最佳答案

我不确定您为什么担心 5-10 兆内存。正如您所说,系统将通过吹走支持层来回收大量内存,并在应用程序再次处于前台时重新创建它们。但是,您希望通过自己回收更多内存来实现什么?

不幸的是,您无法控制拍摄快照的时间。我想你可以做一个 dispatch_after 让你的 View 销毁代码在延迟后发生,但这不是确定性的,因为你不知道什么时候会拍摄快照。如果您的应用程序在调度计时器结束时处于 sleep 状态,那么代码也可能根本不会运行。

我认为您可能过早地进行了优化。

关于ios - 拍摄应用快照后,当我的 iOS 应用进入后台时,如何节省 subview 中使用的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30405923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com