簡體   English   中英

UIImageView.hidden和UIImageView.image = nil之間的區別

[英]Difference between UIImageView.hidden and UIImageView.image = nil

在我的視圖中,我有多個視圖( UICollectionViewCell ),根據模型的不同,可以將UIImageView作為子視圖包含在內(每個視圖都有一個單獨的實例)。

就我而言,未顯示UIImageView的視圖要多於顯示它的視圖。

當我希望視圖顯示圖像時,我可以選擇調用UIImageView.hidden = false ,或在圖像視圖內設置圖像,即UIImageView.image = UIImage(named: ...)

我想知道,哪一種是性能更高的方法,需要考慮內存和速度? 我覺得這種差異還不夠明顯,尤其是在UIImage(named:)的緩存方面,但是我確實想找出答案。

  1. 如果您設置UIImageView.image = nil ,那么UIImageView.image = nil圖像是否在內存中,它將被釋放(如果重用則重新分配),所以我建議始終這樣做

  2. 如果要確保UIImageView.image (1)將不可見,(2)不會在cell占據一frame ,並且(3)不會暗示渲染時間,則還應設置UIImageView.hidden = true

我建議同時采取兩種行動。 在我看來,這里的性能不是問題(還要考慮到里面的圖像單元很少)

nil-此操作意味着imageview分配的內容將從內存中釋放。

隱藏 imageview仍指向該內存位置,但已隱藏在其父視圖中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM