gpt4 book ai didi

ios - 如何使用 'PFImageView' 优化内存?

转载 作者:行者123 更新时间:2023-11-29 10:45:38 25 4
gpt4 key购买 nike

我对内存利用率这件事很困惑。我的应用程序在加载不同数量的图像(从 Parse.com 检索)后崩溃。

为了使这个更简单,我的应用程序包括显示某些类别的图像,所以这就是我所拥有的:首先,您会看到一个“PFQueryTableView”,您选择一个“单元格”,然后被推送到一个加载了 10 个“PFImageView”的“ScrollView”,当然,在浏览了让我们说 5 个前面的单元格的图像之后,我的应用程序因内存而崩溃压力或内存错误。

我正在使用以下代码,我认为它应该有助于缓存数据而不是将其下载到设备上:

- (PFQuery *)queryForTable{

PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];
query.cachePolicy = kPFCachePolicyNetworkOnly;

return query;

这不会做任何事情,因为内存不断增加,所以我尝试添加自定义缓存设置:

- (void)viewDidUnload
{
[super viewDidUnload];

[PFQuery clearAllCachedResults];
}

要删除任何数据.. 查看后。但是,当我测试该应用程序时,使用的内存会随着每个单元格的点击而不断增加,直到达到大约 550 MB,然后崩溃...

我也尝试过释放我的 PFImageViews 但不能,因为我使用的是 ARC,它应该会自动执行。所以我的问题是,我错过了什么吗?我该如何设置才能在不占用设备那么大内存的情况下查看图像?

任何帮助将不胜感激!感谢您花时间阅读,如果这真的是一个基本问题,我深表歉意。

最佳答案

iOS6 后,viewDidUnload 已弃用。文档说“在低内存条件下不再清除 View ,因此永远不会调用此方法”- 如果遇到断点,我会感到惊讶。

您能否将不再需要的任何对象显式设置为 nil,从而回收该内存?

您可能想要切换到连续旋转的 UIScrollView 方案。在任何时候你都只加载了三个图像;上一个,当前和下一个。

如果向左滑动,“左”变为“当前”,“当前”变为“右”,“右”被丢弃,加载新的“左”。

如果向右滑动,“右”变为“当前”,“当前”变为“左”,“左”被丢弃,加载新的“右”。

这是一个 old answer我写了关于制作循环 View Controller 的更多细节。

关于ios - 如何使用 'PFImageView' 优化内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22496513/

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