我的iPhone应用程序正在疯狂地崩溃。我需要一些帮助,或真正的方向。iPhone应用程序内存问题。由于内存不足导致崩溃?
快速背景:我不知道如何编程。我只做了几个月,我很确定我没有以最好的方式制作这款应用,甚至关闭。
该应用程序基本上是一个包含10个按钮的菜单屏幕。每个按钮导致3个页面,导航将带您来回,并返回到主菜单。它只有一个视图,并且在您启动应用程序时加载所有图像。所有图像首先被隐藏,并根据需要显示(隐藏=否)。
该应用程序加载速度非常缓慢,然后完全按照需要运行。点击大约15个图像后,它会崩溃。
我已经使用过仪器(还不完全确定如何),但它没有显示任何内存泄漏。它在崩溃之前多次显示“低内存”。
因此,我的问题的时间。我很抱歉,这些都是非常业余的。这是我第一次在我的应用程序中看到任何崩溃,这对我来说似乎很简单。它比我之前做的任何事都有更多的图像。
没有从头开始的应用程序,有什么我可以做,以解决问题,并消除崩溃?我不完全明白如何处理记忆(显然)。我知道任何时候你分配一些东西你应该释放它,但我不知道我曾经分配过它。我所做的只是显示和隐藏图像。
如果我必须从头开始,做这样的应用程序的最佳方式是什么(类似于一本书,导航主窗口,以及10个导致每个3个全屏图像的按钮)?我从来没有比实用程序模板更多的视图工作。
我可以提供哪些其他信息来帮助我?
我很感激!我为一个朋友创建了这个应用程序,我一直在努力尝试做出正确的选择。
编辑:
(添加您的分析细节和代码在这里)。在你的代码前放4个空格并确保格式化。
- (IBAction)pressNext:(id)sender
{
if (num == 11)
{
peteNotes1.hidden = YES;
//[peteNotes1 release], peteNotes1 = nil;
peteBio.hidden = NO;
num = 12;
//[self playRandomSound];
}
else if (num == 12)
{
peteBio.hidden = YES;
//[peteBio release], peteBio = nil;
petePic.hidden = NO;
next.hidden = YES;
num = 13;
//[self playRandomSound];
}
else if (num == 21)
{
eddieNotes1.hidden = YES;
//[eddieNotes1 release], eddieNotes1 = nil;
eddieBio.hidden = NO;
num = 22;
//[self playRandomSound];
}
else if (num == 22)
{
eddieBio.hidden = YES;
//[eddieBio release], eddieBio = nil;
eddiePic.hidden = NO;
next.hidden = YES;
num = 23;
//[self playRandomSound];
}
你可以添加一些代码吗?这将有助于... – bryanmac
代码之外,你是否发布图像?你是否反复加载相同的图像?这听起来像你有一些超过保留(增长的记忆)和过度释放(崩溃)继续。 – bryanmac
我刚看到这个评论。我想我只加载一次图像,但隐藏和显示他们超过。 – user674224