談談iOS UIView 隱藏和建立的記憶體消

2021-07-10 13:06:21 字數 548 閱讀 5412

專案中經常有很多的view需要建立和替換。而且view之間也是經常切換。那麼你是選擇把不用的view removefromsuperview 還是選擇sethidden呢?

看**

先建立5個uiview(colorcubeview 只是繼承uiview的乙個子類,沒有新增任何屬性和方法)。列印記憶體位址 ;

再改變這5個view的顏色,依舊列印位址。

然後從父檢視中移除這5個view,還是列印位址。

可以看出上述三個步驟的5個view  每個view對應的位址是一樣的,也就是說位址沒變。

最後一步是重新搞回這5個view,相當於切換回來。一樣的tag,一樣的顏色。但是位址變了。說明這5個view用過別的記憶體。之前的記憶體就浪費在那邊,由arc選個時間去**。

didreceivememorywarning;

則會節省很多資源。雖然看起來後者很麻煩,但是優化的目的是減少運算,後者有絕對的優勢。

(自己試驗,僅供參考)

iOS UIView屬性動畫和常用方法

一 動畫的屬性是指當屬性從乙個值變為另乙個值的時候,可以半自動的支援動畫。1.uiview物件中支援動畫的屬性有 frame 改變檢視的尺寸和位置 bounds 改變檢視的尺寸 center 改變檢視的位置 transform 使用這個可以翻轉或者縮放試圖 alpha 使用這個可以改變檢視的透明度 ...

iOS UIView新增鋸齒和波浪線的邊

1,ios 為uiview 新增鋸齒邊 主要是算好鋸齒的點在view上的位置,然後進行填充就好了,如下 uibezierpath path uibezierpath bezierpath path.linewidth borderwidth nsinteger x 0 nsinteger y bor...

覆蓋和隱藏

c 中派生類函式遮擋 hide 基類中同名函式的問題是比較令人費解的,有必要詳細說明一下。看看下面一段 class base class derived public base derived pd new derived pd f 10 編譯錯誤 對於這樣一種情況,scott meyers這樣解釋...