Какое значение имеет отношение к памяти, если я создаю CALayer, а не UIView? - PullRequest
0 голосов
/ 25 июля 2009

Хотя UIView имеет объем памяти не менее 4 * ширины * высоты пикселей, мне интересно, как это будет выглядеть, когда я создаю только CALayer.

Ответы [ 2 ]

2 голосов
/ 26 июля 2009

Хотя UIView занимает объем памяти не менее 4 * ширина * высота пикселей

Это утверждение абсолютно неверно. Затраты памяти UIView (по сравнению с CALayer) - это просто размер переменных экземпляра класса UIView, плюс несколько экземпляров дополнительных классов, которые будут выделены. Переменные экземпляра UIView занимают около 24 байтов, и дополнительное хранилище данных, вероятно, такое же или меньше.

Если UIView добавляет функциональность, полезную для вашего приложения, используйте его. Перегрузка памяти на самом деле не имеет значения.

2 голосов
/ 26 июля 2009

Проведя некоторые эксперименты с этим в прошлом, я обнаружил, что дополнительные издержки объекта UIView были очень минимальными.

...