Я только что осознал небольшую проблему в распределении памяти и освободил ненужные экземпляры.Проблема ARC со статическими объектами в памяти
У меня есть контроллер вида с двумя диспетчерскими очередями.
static dispatch_queue_t _queue_1;
static dispatch_queue_t _queue_2;
@interface
...
@end
!! Контроллер представления никогда не освобождается.
Однако, если они не являются статическими и являются частью этого класса контроллера класса, вызывается dealloc
.
dispatch_queue_t _queue_1;
dispatch_queue_t _queue_2;
Это жужжит меня, потому что я не думал, что статические переменные будут увеличиваться, так что это счет сохранения? Я имею в виду - он существует во всем жизненном цикле приложения как статическая переменная. Но почему это связано с этим классом VC? Почему VC не получает освобождение в первом тесте?
Вам нужно предоставить гораздо больше контекста и полезной информации. На данный момент слишком мало, чтобы помочь вам. – rmaddy
В каком классе существует код в вашем примере? Если вы показываете этот маленький код, вам нужно объяснить контекст. – Caleb