иначе должен создать table
с valign
, конечно. Это работало бы независимо от Вас знающий высоту отделения или нет.
<div>
<table width="100%" height="100%" align="center" valign="center">
<tr><td>
<img src="foo.jpg" alt="foo" />
</td></tr>
</table>
</div>
, но необходимо всегда придерживаться всего css
, когда это возможно.
Если вы выдадите предупреждение памяти в симуляторе (посмотрите в меню), это будет вызвано для любого контроллера представления, подключенного к невидимому представлению.
Это потому, что контроллеры представлений по умолчанию зарегистрированы для уведомлений о предупреждениях памяти, и любое представление, которое в настоящее время не используется, будет выгружено контроллером представления - там есть метод viewDidUnload, чтобы вы могли очистить все, что захотите,для экономии дополнительной памяти (или если вы сохранили некоторые IBOutlets, чтобы помочь освободить память, которая в противном случае была бы высвобождена выгружаемым представлением).
Как правило, любые IBOutlets, которые вы выпускаете в dealloc, также должны быть освобождены (и ссылки установлены на nil) в этом методе.
-viewDidUnload
вызывается всякий раз, когда для свойства viewcontroller установлено значение nil, вручную или чаще всего через didReceiveMemoryWarning:
.
В дополнение к ручному выдаче предупреждения памяти в симуляторе вы можете выдать его программно с помощью
- (void)_simulateLowMemoryWarning {
// Send out MemoryWarningNotification
[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification
object:[UIApplication sharedApplication]];
// Manually call applicationDidReceiveMemoryWarning
[[[UIApplication sharedApplication] delegate] applicationDidReceiveMemoryWarning:[UIApplication sharedApplication]];
}
Затем вы можете заставить это происходить каждые 5 секунд, используя таймер
static NSTimer *gLowMemoryTimer = nil;
- (void)stopLowMemoryTimer {
[gLowMemoryTimer invalidate];
gLowMemoryTimer = nil;
}
- (void)startLowMemoryTimer {
if (gLowMemoryTimer) {
[self _stopLowMemoryTimer];
}
gLowMemoryTimer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(_simulateLowMemoryWarning) userInfo:nil repeats:YES];
}