gpt4 book ai didi

ios - ARC ios 中的内存压力

转载 作者:行者123 更新时间:2023-11-29 10:40:43 28 4
gpt4 key购买 nike

我正在开发一个 iPad 应用程序。只有从另一个 View 推 View 没有弹出。在某些时候,应用程序由于内存压力而终止。我使用 Product --> Profile Instuments 进行了调试。在每个 View 中都有许多图像记录视频等的分配,并且从每个 View 中分配了大约 80-100 mb,当它达到接近 400 mb 时应用程序崩溃。

当 View 消失时,有什么方法可以取消 ARC 中的内存分配吗?我试过对象=无;但不工作。

请帮助我,我最近两天都在搜索这个。

工作流程 --> 这是一个类似于提交个人信息的应用先view从table view中选择一些数据-然后Face video record -然后body video record -然后room video record -和一些form submission -最后上传view

最佳答案

如果您正在加载如下图片:
[UIImage imageNamed:@"myImage.png"];
那么这个图像的内存将不会被释放,因为 imageNamed: 缓存图像。这个方法对于显示一些小图标、头像等很有用。所以,如果你必须显示很多大图像,那么使用
UIImage *myImage = [UIImage imageWithData:[[NSBundle mainBundle] pathForResource:@"myImage"ofType:@"png"];
这不会缓存图像,当该对象的保留计数等于 0 时,内存将被释放。

除此之外,当你以后只推送一个 View Controller 而不弹出它时, View Controller 将永远不会被释放,并且会一直在内存中占有一席之地,直到应用程序不会崩溃/被杀死,或者直到持有它的 ViewController View Controller 不会被释放。

因此,请始终确保在不再需要 viewController 时释放它(即,如果它被推送,则将其弹出,或者如果它以模态方式呈现,则将其关闭),然后显示您的下一个 View Controller 。

关于ios - ARC ios 中的内存压力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24684340/

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