Under ARC, будет removeAllObjects
на NSMutableArray
быть более интенсивным для CPU (рилизинг объектов по отдельности явно), чем просто делать myArray = [NSMutableArray new];
и просто позволить ARC поймать всю освобожденную память-блок на это следующий раунд релиза ?NSMutableArray removeAllObjects против нового при повторном использовании
Я мог бы проверить это с помощью двух частей кода, но из-за оптимизации и тому подобного мне действительно интересно узнать о механизме. С точки зрения C
это похоже на то, что вызывать все объекты, которые будут выпущены, звучат более интенсивно, но, возможно, дерево dealloc
в Objective-C может быть достаточно эффективным для ARC, чтобы сделать это на равной скорости?
Это имеет смысл, спасибо! У меня только 2 действительно больших массива, которые назначили бы многие (тысячи) записей. Я собираюсь сделать некоторые конкретные тесты, чтобы убедиться, что это будет иметь значение с точки зрения производительности (даже если это маргинальный номер), чтобы повторно использовать их с 'removeAllObject'. –