gpt4 book ai didi

ios - 为什么这些VM :UITableViewCellSelectedBackground(CALayer) come out for every UITableViewCell in Allocations?

转载 作者:行者123 更新时间:2023-11-29 12:56:46 24 4
gpt4 key购买 nike

我正在使用分配来测试我的应用程序的解压缩代码。我使用 Master UITableViewController 来显示 11 个文件名。测试应用截图如下: enter image description here

当你选择一个时,它会推送一个UIViewController来显示文件,然后返回到Master UITableViewController

现在,如果您重复选择一个单元格,则图表中不会出现内存峰值。但如果从1到2中选择,那么各代之间至少会增加224KB的内存。我从 1 测试到 11。所有这些更改将增加几乎相同的内存。截图如下: enter image description here

查看细节发现有一个VM:UITableViewCellSelectedBackground(CALayer)(有的叫VM:CoreAnimation,但都是一样的224KB)在增长。而且,如果我选择选定的单元格,则不会出现如此大的内存峰值。似乎它们只会在第一次选择一个单元格时创建。

现在我的问题是他们为什么要出来?这是一种内存泄漏吗?如果是,我该如何解决?任何帮助将不胜感激。

更新:我已经确认与我的解压代码没有任何关系,如果我注释掉解压代码,VM:UITableViewCellSelectedBackground(CALayer) 在选择一个新单元格时仍然存在。

最佳答案

我在模拟器上测试过,结果和你差不多。但是过段时间内存会掉下来。

我不认为这是内存泄漏。当我们选择一个单元格时,系统可能会在它上面添加一个半透明层。

该层在需要时创建,因此它增加了内存。

我确定一旦选择了一个单元格,系统将创建一些对象(某些与图层或图层本身相关的东西),尽管稍后取消选择单元格,但这些对象不会被释放,这些对象可能有一些缓存需要改进下次选择单元格时的性能。

关于ios - 为什么这些VM :UITableViewCellSelectedBackground(CALayer) come out for every UITableViewCell in Allocations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20879476/

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