常用的效能優化手段(記憶體優化方法)

2021-07-15 02:38:02 字數 1542 閱讀 7085

1.使用 arc 進行記憶體管理,arc 是 ios 提供的採用自動引用計數方式進行管理記憶體的一種手法,它避免了最常見的忘記釋放物件記憶體而引起的記憶體洩漏問題。它的工作原理是編譯器會自動的為你管理 retain 和 release 過程。

2.**復用:reuseidentifier,在使用單元格時應採用懶載入的模式去建立**的單元格,首相應當在快取中去尋找單元格是否建立,找到就直接使用,沒有進而進行建立單元格進行使用,需要注意一點的是在設定單元的標誌 id 時,應採用 static 進行修飾,已達到程式執行時記憶體中僅存在乙份單元格識別符號 id

3.盡量的把 views 設定為透明:透明的 views 是系統最優化的渲染方式,通常是吧 opaque 屬性設定為yes

4.避免使用龐大的xib,如果你不得不使用 xib 時,請嘗試為每乙個單獨的 controller 配置乙個單獨的 xib,盡量的把乙個view  controller中的 view 結構層次分散到不同的 xib 中

5.避免阻塞主線程。記住永遠不要讓主線程擔任過多的任務,主線程所做的工作大致為渲染,管理互動反應,回應互動等

6.不要在程式執行的時候去調整的大小,打個優化的比方,假如你從網路進行獲取的需要進行大小設定,你可以選擇在後台程序中進行的縮放,然後在使用縮放後的,也就是避免直接在 uiimageview 中更改的大小。

7.正確的業務邏輯選擇,例如陣列、字典、集合、在有序的陣列中使用下邊去遍歷會高於使用數值去遍歷速度,插曲刪除的速度相對很慢。字典在使用時儲存鍵值對,使用鍵值進行查詢會相對使用 value 快速、集合中是無序的,使用值查詢會是乙個快速的選擇。

9.使用重用和延時載入檢視,更多的檢視意味著更多的渲染,意味著更多的cpu 消耗,常使用的方法是重用 view 和延遲載入 view(懶載入)僅當需要時進行建立、不需要時進行銷毀釋放記憶體。

10.使用 cache 快取技術:

快取的技術是必不可少的,經常用於儲存我們經常讀取的資料。cache 的使用在另一半文章中去介紹

11.進行記憶體警告處理,

12.重用重大的記憶體開銷物件以及結構、例如時間格式器、日曆等

13.使用 sprite sheets 進行加快渲染速度。

14.避免反覆的處理資料

15.減少使用 web 載入

16.優化 tableview保證良好的滾動效能、例如單元格復用、盡量使用透明的 view,避免漸變、縮放操作、減少subviews使用、快取行高

17.使用自動釋放池

nsautoreleasepool負責釋放block中的autoreleased objects。一般情況下它會自動被uikit呼叫。但是有些狀況下你也需要手動去建立它。

假如你建立很多臨時物件,你會發現記憶體一直在減少直到這些物件被release的時候。這是因為只有當uikit用光了autorelease pool的時候memory才會被釋放。好訊息是你可以在你自己的@autoreleasepool裡建立臨時的物件來避免這個行為:

nsarray *urls = <# an array of file urls #>;

for(nsurl *url in urls)

}這段**在每次遍歷後釋放所有autorelease物件

cpu效能優化手段

1 cpu優化 快取 為了提高程式的執行的效能,現代cpu在很多方面對程式進行優化 例如 cpu的快取記憶體,盡可能的避免處理器訪問主記憶體的時間開銷,處理器大多會利用快取來提高效能 cpu快取分為 快取 l1 一級快取是cpu第一層快取記憶體 分為資料快取和指令快取 一般伺服器的cpu在32 4....

redis常用記憶體優化手段與引數

通過上面的實現上的分析,可以看出redis的記憶體管理成本比較高,即占用了過多的記憶體,redis的作者對這點也很清楚,所以提供了一系列的引數和手段來控制和節省記憶體 首先最重要的一點是不要開啟redis的vm選項,即虛擬記憶體功能。這個本來是作為redis儲存超出物理記憶體資料的一種資料在記憶體與...

sql常用優化手段

常見優化手段 where及order by的列建索引 避免在 where 子句中使用 或 操作符,否則將引擎放棄使用索引而進行全表掃瞄。避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃瞄,可以在字段上設定預設值0 避免在 where 子句中使用 or 來...