Мое приложение разбивается, когда я пытаюсь его повернуть более чем пару раз. Сначала я подумал, что это просто симулятор iPhone, поэтому я загрузил приложение на iPod touch, и он разбился после того, как он несколько раз вращается подряд. Я подозреваю, что это утечка памяти в одном из моих методов поворота. Единственное место, где я могу думать, что авария вызвана, - это willRotateToInterfaceOrientation:duration:
. Единственные два метода, связанных с поворотом, которые я добавил/добавили: shouldAutorotateToInterfaceOrientation:
и willRotateToInterfaceOrientation:duration
, и я не думаю, что это первый, потому что он содержит только два слова: return YES;
. Вот мой метод willRotateToInterfaceOrientation:duration:
, поэтому вы можете просмотреть его и посмотреть, где возможна утечка памяти.Мое приложение падает после нескольких поворотов
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration
{
UIFont *theFont;
if ((orientation == UIInterfaceOrientationLandscapeLeft) || (orientation == UIInterfaceOrientationLandscapeRight))
{
theFont = [yearByYear.font fontWithSize:16.0];
yearByYear.font = theFont;
[theview setContentSize:CGSizeMake(460.0f, 635.0f)];
}
else
{
theFont = [yearByYear.font fontWithSize:10.0];
yearByYear.font = theFont;
[theview setContentSize:CGSizeMake(300.0f, 460.0f)];
}
[theFont release];
}
yearByYear является UITextView
и theview является UIScrollView
.
Подобные аварии, как правило, являются чрезмерно выпуклыми объектами, а не утечками. Утечки занимают много времени, чтобы заполнить память (если только это не наводнение), и вы сначала получите предупреждение о памяти. – progrmr