iOS. Приемы программирования
Шрифт:
В каждом потоке необходимо создавать автоматически высвобождаемый пул, причем это должен быть самый первый объект, создаваемый в конкретном потоке. Если этого не сделать, то любой объект, создаваемый в потоке на протяжении его существования, будет вызывать утечку памяти. Чтобы лучше понять эту проблему, рассмотрим следующий код:
Если запустить этот код и одновременно следить за окном консоли, то можно увидеть примерно следующее сообщение:
Эти данные свидетельствуют о том, что созданный нами автоматически высвобождаемый экземпляр UIImage приводит к утечке памяти. Более того, утечку вызывают и экземпляр класса NSString под названием FilePath, а также другие объекты, которые в обычной ситуации спокойно высвободились бы. Дело в том, что при создании потока мы забыли первым делом выделить и инициализировать автоматически высвобождаемый пул — именно первым делом. Далее приведен правильный код. Можете сами его протестировать и убедиться, что никаких утечек не возникает:
7.16.
Постановка задачи
Необходимо найти простой способ создания потоков так, чтобы с потоками не приходилось работать напрямую.
Решение
Воспользуйтесь методом экземпляра performSelectorInBackground: withObject:, относящимся к классу NSObject:
Методы счетчиков реализуются следующим образом:
Электрические тела
Детективы:
прочие детективы
рейтинг книги
Битва
2. У Великой реки
Фантастика:
фэнтези
боевая фантастика
рейтинг книги
Эпилог
Мой 20 век
Документальная литература:
биографии и мемуары
рейтинг книги
Часовой: воин Ордена
2. Часовой
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Переписка и деловые бумаги
Документальная литература:
публицистика
рейтинг книги
День греха
Любовные романы:
остросюжетные любовные романы
рейтинг книги
Санаторий
Фантастика:
научная фантастика
рейтинг книги
Иллюзион
Фантастика:
боевая фантастика
рейтинг книги
Зазвездный зов. Стихотворения и поэмы
Серебряный век. Паралипоменон
Поэзия:
поэзия
рейтинг книги
Молот Пограничья. Гексалогия
Молот Пограничья
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Господин из завтра. Тетралогия.
Фантастика:
альтернативная история
рейтинг книги
Повелитель снов
Фантастика:
фэнтези
рейтинг книги