我是编程新手(几个月前学会了如何编写应用程序),并且最近编写了一个应用程序,在大约5分钟后每次都会因为几个“收到内存警告”而崩溃。等级= 1'警告。在使用仪器进行测试时,我无法检测到任何泄漏,我相信我正确地释放了对象,因此我怀疑内存问题源于我使用的大量png图像(大约80)。我尝试从-imageNamed方法更改为-imageWithContentsOfFile并且没有看到真正的改进。如果有人能提供任何提示,我会非常感激,因为我完全陷入困境。
答案 0 :(得分:0)
内存不足必然意味着内存泄漏。这可能意味着你曾经要求过多的记忆。在您的情况下,您可能正在尝试创建太多同时存在的UIImage
个对象。没有看到更多的代码,除了尝试并找到一种方法同时使用更少的图像之外,没有什么可说的。
答案 1 :(得分:0)
假设您使用UIImage
加载的imageNamed
在可能的情况下卸载其内容,如果它们收到内存警告。 UIImage Reference, see Images and Memory Management这只会留下一个非常小的空UIImage
容器。所以我怀疑你还有其他问题。
检查程序中的任何循环,并确保它不会以某种方式泄漏。
答案 2 :(得分:0)
还记得磁盘上的PNG比内存中的相应图像小得多。如果你的PNG很大,你可能会耗尽太多内存。也许你可以延迟加载图像,使你的足迹更小。