記憶體的使用和優化

2022-09-03 22:21:17 字數 799 閱讀 7179

/*記憶體的使用和優化常見的有一下幾個方面

1、重用問題:如uitableviewcell、uicollectionviewcell、uitableviewheaderfooterviews設定正確的reuseidentifier,充分重用

3、不要使用太複雜的xib/storyboard 載入時就會將xib/storyboard需要的所有資源,包括全部載入記憶體,即使未來很久才使用,那些相比純**寫的延遲載入,效能及記憶體就差了很多。

4、選擇正確的資料結構:學會選擇對業務場景最合適的陣列結構是寫出高效** 的基礎。比如,陣列:有序的一組值。使用索引來查詢很快,使用值查詢很慢,插入/刪除很慢。字典:儲存鍵值對,用鍵來查詢比較快。集合:無序的一組值,用值來查詢很快,插入傷處很快。

6、延遲載入:對於不應該使用的資料,使用延遲載入方式。對於不需要馬上顯示的檢視,使用延遲載入方式。比如,網路請求失敗時顯示的提示介面,可能一直都不會使用到,因此應該使用延遲載入。

7、資料快取:對於cell的行高要快取起來,是的reload資料時,效率也極高。而對於那些網路資料,不需要每次都請求的,應該快取起來,可以寫入資料庫,也可以通過plist檔案儲存。

9、重用大開銷物件:一些objects的初始化很慢,比如nsdateformatter和nscalendar,但又不可避免的需要使用它們,通常是作為屬性儲存起來,防止反覆建立。

10、避免反覆處理資料:許多應用需要從伺服器載入功能所需的長為json或者xml格式的資料。在伺服器端和客戶端使用相同的資料結構很重要。

11、使用autorelease pool:在某些迴圈建立臨時變數處理資料時,自動釋放池以保證能及時釋放記憶體。

記憶體洩露和優化

記憶體洩露和優化 概述 通過unityengine命名空間中的介面分配的記憶體,將會通過unity分配在native堆 通過system命名空間中的介面分配的記憶體,將會通過mono runtime分配在mono堆 resources.unloadunusedassets 內部包括gc gc.col...

Android效能優化和記憶體優化

當專案功能實現了,我們就要開始考慮優化的問題了,這裡主要講效能優化和記憶體優化 效能優化 摘自 可以去看這個人寫的文章 太多重疊的view第乙個建議是 使用viewstub來載入一些不常用的布局,它是乙個輕量級且預設是不可見的檢視,可以動態的載入乙個布局,只要你用到這個重疊著的view的時候才載入,...

記憶體管理(3) 如何優化記憶體使用

為優化應用記憶體使用,開發人員首先應該知什麼最耗應用記憶體,答案就是紋理!紋理幾乎會佔據90 應用記憶體。所以盡量最小化應用的紋理記憶體使用,否則應用很有可能會因為低記憶體而崩潰。本文介紹cocos2d x遊戲通用的兩條記憶體優化原理指導。什麼樣的紋理最耗應用記憶體?或這些紋理會消耗多少記憶體?當然...