Мое приложение запускает 12 потоков в то время, когда это происходит. Возможно ли это
из-за утечки памяти?
То, что вы запускаете потоки, не имеет значения (за исключением того, что это не •). И, да, это, скорее всего, из-за утечки памяти или, по крайней мере, злоупотребления памятью.
Вам не понадобится очень много 2 097 152 байта для того, чтобы исчерпать всю доступную память. И это не может быть утечки; если у вас просто есть длительный процесс, который накапливает много памяти перед очисткой в конце, это может вызвать это поведение.
Не зная больше, очень трудно сказать, что происходит. Конечно, было бы интересно установить точку останова в соответствии с инструкциями и посмотреть, где происходит неудачное размещение.
<Ч />
• 12 потоков - это очень много в приложении для iPhone. Существует только одно ядро (2 на iPad 2), пропускная способность ввода / вывода памяти не так велика, и, таким образом, 12 потоков, конкурирующих за ресурсы, с большой вероятностью будут работать намного медленнее, чем пара потоков ,
Кроме того, вы вообще не должны создавать потоки (за исключением редких обстоятельств). Вместо этого вы должны использовать очереди (GCD или NSOperationQueue), поскольку они намного лучше интегрированы с ОС.