我的IOS网络照片浏览器应用程序正在使用240MB的真实内存。

问题描述:

我是ios开发新手。我开发了一个应用程序,它显示一些图像形式的URL我使用MWPhotoBrowser加载我的图像和缓存管理。我的应用程序有33个图像显示。我在活动监视器中检查了真实的内存,并且在我看到我的第33张图像时,它以15MB开始,并增加到240MB。如果我提交我的应用程序进行审查,这会有问题吗?我的IOS网络照片浏览器应用程序正在使用240MB的真实内存。

感谢, Priyatham Anisetty

+2

什么是您计划展示的图像的最大数量?你有限制吗?是物理图像大小是增加内存使用率,还是与图像加载相关的泄漏? – 2012-07-09 20:21:59

+2

我会这样想 – Imirak 2012-07-09 20:26:47

你有没有收到你的应用程序崩溃,当你一个真实的设备上测试?如果是这样,你当然需要重新考虑你的内存管理。

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

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

祝你好运!

240MB只是一个巨大的内存使用情况,可能表明内存泄漏在您的应用程序的某处。在实际设备上运行较长时间或显示更多图像时,它可能会崩溃。如果您不使用ARC,请确保您的所有保留与保留适当平衡。我建议你使用Xcode分析器来追踪你的内存泄漏。

正如每个答案所述,任何使用那么多内存的应用程序都将被操作系统杀死。大约20mb左右,你的应用程序将收到警告,大约35mb iOS将开始杀死进程,并在50你几乎可以确保长期死亡。和大多数人一样,如果用户在后台运行大量东西,这些可能会更少。

  1. 如果您想获得特定帮助,请发布您的代码。有很多事情你可能会做错

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

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

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