12.
處理記憶體警告
一旦系統記憶體過低,
ios會通知所有執行中
。在官方文件中是這樣記述:
如果你的
object
和其他一些可以重建立的
objects
的strong references.
幸運的是,
uikit
提供了幾種收集低記憶體警告的方法:
·
在中使用
的方法
·
在你的自定義
uiviewcontroller
的子類(subclass)
中覆蓋`didreceivememorywarning`
·
註冊並接收
的通知
一旦收到這類通知,你就需要釋放任何不必要的記憶體使用。
例如,uiviewcontroller
的預設行為是移除一些不可見的
view
,它的一些子類則可以補充這個方法,刪掉一些額外的資料結構。乙個有快取的
可以移除不在螢幕上顯示的。
這樣對記憶體警報的處理是很必要的,若不重視,你的
就可能被系統殺掉。
然而,當你一定要確認你所選擇的
object
是可以被重現建立的來釋放記憶體。一定要在開發中用模擬器中的記憶體提醒模擬去測試一下。
iOS應用效能調優的25個建議和技巧 4
4.避免過於龐大的 xib ios5 中加入的 storyboards 分鏡 正在快速取代 xib。然而 xib在一些場景中仍然很有用。比如你的 需要適應 ios5 之前的裝置,或者你有乙個自定義的可重用的 view,你就不可避免地要用到他們。如果你不得不 xib的話,使他們盡量簡單。嘗試為每個 c...
ioS應用效能調優的25個建議和技巧 8
開啟 gzip 壓縮 大量依賴於遠端資源和第三方 apixml,json,html 或者其它格式的。問題是我們的目標是移動裝置,因此你就不能指望網路狀況有多好。乙個使用者現在還在 edge 網路,下一分鐘可能就切換到了 3g。不論什麼場景,你肯定不想讓你的使用者等太長時間。減小文件的乙個方式就是在服...
iOS應用效能調優的25個建議和技巧 10
10.cache,cache,還是cache 乙個極好的原則就是,快取所需要的,也就是那些不大可能改變但是需要經常讀取的東西。我們能快取些什麼呢?一些選項是,遠端伺服器的響應,甚至計算結果,比如 uitableview 的行高。nsurlconnection 缺省會快取資源在記憶體或者儲存中根據它所...