- У меня есть CATextLayer размером 3000 * 3000 с большим текстом в нем.
- Текст скажет: «Привет»
- Я добавляю этот CATextlayer в свой Superlayer.
- Я установил wasrasterize в false.
При перемещении сверхслоя с переводом, я наблюдаю огромное использование памяти, пока приложение не сработает.Почему CATextlayer использует столько памяти
Почему это занимает столько памяти? Как я могу избежать этого?
Я предполагаю, что в памяти будет растровое изображение? Но почему ?
Мой пример - это крайний случай, который на самом деле не является моим продуктивным приложением, поэтому, пожалуйста, не спрашивайте, почему вы это делаете. Его единственный крайний случай для попытки понять, что происходит.
Но я стараюсь понять, почему он потребляет столько памяти. Конечно, я должен уменьшить размер, чтобы соответствовать. Это крайний образец, который я описал. Мне нравится понимать, в чем причина. Это растровое изображение, хранящееся в памяти? Или что ? И действительно ли это так, что, когда я рисую простой текст, он создает растровое изображение в конце. Я предполагаю, что это будет missdesign от Apple, если CALayer, который имеет много преимуществ, как результат в растровом виде. –
И вы делаете анимацию перехода, и помните, что во время анимации присутствует слой презентации, и все это вызовет огромный всплеск памяти. – Shripada
Нет. Я не делаю анимации. Я просто переводил UIView с его каллами в нем. –