UIImageView + UIImage против CALayer + Эффективность контента - PullRequest
0 голосов
/ 29 мая 2018

В настоящее время у меня есть UIImageView, который обновляет UIImage каждые несколько секунд или около того.Это бесконечный процесс в очень тяжелом пользовательском интерфейсе.

Учитывая, что использование CALayers везде, где это возможно, над UIView всегда легче по весу, мне интересно, если я преобразую UIImageView в CALayer и установка UIImage для установки содержания CALayer?


Текущий

//Every 2 seconds
myImageView.image = UIImage(cgImage: myCGImage)

Предложение

//Every 2 seconds
myLayer.content = myCGImage

enter image description here

enter image description here


Так как UIImageView действует немного по-другому, мне интересно, какой метод был бы более эффективным на CPU / GPU в целом.

1 Ответ

0 голосов
/ 29 мая 2018

В общем, UIView объекты - это довольно тонкие обертки вокруг CALayers.UIImageView не является исключением из этого.Большая часть «тяжелой работы» по декодированию и отображению изображения выполняется с помощью CALayer в обоих случаях, поэтому я сомневаюсь, что вы заметите большую разницу.

UIImageView проще в использовании, иполученный код легче читать, поэтому если вам не нужно делать что-то, требующее использования CALayers, я бы придерживался UIKit объектов.

...