0

我是ios开发新手。我开发了一个应用程序,它显示一些图像形式的 url。我使用 MWPhotoBrowser 来加载我的图像和缓存管理。我的应用要显示 33 张图片。我检查了活动监视器中的实际内存,它从 15MB 开始,到我看到第 33 张图像时增加到 240MB。如果我提交我的应用程序进行审核,这是否会成为问题。

谢谢,普里亚瑟姆·安妮塞蒂

4

3 回答 3

0

在真实设备上进行测试时,您是否遇到过应用程序崩溃的情况?如果是这样,您当然需要重新考虑您的内存管理。

我记得当时我在 Lynda.com 上的一个培训课程实际上是说,iOS 只允许你使用大约 50 Mb 的内存,如果任何应用程序包括 Apple 的应用程序使用超过这个,应用程序将自动关闭IOS。我不知道应用程序现在可以实际使用多少内存,但 240 Mb 可能太多了,因为 iPhone 4 和 iPhone 4S 总共只有 512 Mb。我会说,如果您经常遇到应用程序崩溃,那么您可能会被Apple拒绝。

一般来说,我认为你需要再看看你的内存管理,看看你是否可以重用它们并修复泄漏(如果有的话)。

祝你好运!

于 2012-07-09T20:41:30.450 回答
0

240MB 只是一个巨大的内存使用量,可能表明您的应用程序中的某个地方存在内存泄漏。在实际设备上运行较长时间或要显示更多图像时,它可能会崩溃。如果您不使用 ARC,请确保您的所有保留都与保留正确平衡。我建议您使用 Xcode Analyzer 来跟踪您的内存泄漏。

于 2012-07-09T20:51:51.663 回答
0

正如每个答案所提到的,任何使用这么多内存的应用程序都会被操作系统杀死。大约 20mb 您的应用程序将收到警告,大约 35mb iOS 将开始杀死进程,并且在 50 时您几乎可以保证已经死了很久。如果用户像大多数人那样在后台运行很多东西,那么这些可能会更少。

  1. 如果您需要特定帮助,请发布您的代码。有很多事情你可能做错了

  2. 使用断点和仪器中的泄漏分析器来尝试跟踪导致主要内存问题的代码行。

  3. 显然,您需要找到一种仅将您需要的图像保存在内存中的方法。如果您要扫描许多照片,最好的方法可能是将它们放在表格视图中,因为它们具有内置的可重用标识符属性,可以显着改善您的内存占用。

  4. 具体告诉我们您使用什么方法将图像存储在内存中。

于 2012-07-09T22:35:29.873 回答