![](/img/trans.png)
[英]difference between UIImageView.image = … and UIimageView.layer.content =
[英]Difference between UIImageView.hidden and UIImageView.image = nil
在我的視圖中,我有多個視圖( UICollectionViewCell
),根據模型的不同,可以將UIImageView
作為子視圖包含在內(每個視圖都有一個單獨的實例)。
就我而言,未顯示UIImageView
的視圖要多於顯示它的視圖。
當我希望視圖顯示圖像時,我可以選擇調用UIImageView.hidden = false
,或在圖像視圖內設置圖像,即UIImageView.image = UIImage(named: ...)
。
我想知道,哪一種是性能更高的方法,需要考慮內存和速度? 我覺得這種差異還不夠明顯,尤其是在UIImage(named:)
的緩存方面,但是我確實想找出答案。
如果您設置UIImageView.image = nil
,那么UIImageView.image = nil
圖像是否在內存中,它將被釋放(如果重用則重新分配),所以我建議始終這樣做
如果要確保UIImageView.image
(1)將不可見,(2)不會在cell
占據一frame
,並且(3)不會暗示渲染時間,則還應設置UIImageView.hidden = true
我建議同時采取兩種行動。 在我看來,這里的性能不是問題(還要考慮到里面的圖像單元很少)
nil-此操作意味着imageview
分配的內容將從內存中釋放。
隱藏 imageview
仍指向該內存位置,但已隱藏在其父視圖中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.