最近在網上看了很多的記憶體優化方案,感覺都很 nice ,本文主要是對網上的記憶體優化方案做一下列表式總結,不涉及具體的內容(主要目的就是備忘):
用arc管理記憶體(貌似現在的新專案99%用的都是arc了)
在正確的地方使用 reuseidentifier
盡可能使 view 不透明(view不透明的情況下 gpu在計算顏色的時候只需要計算本圖層的顏色,如果 view 透明,則需要把下 面圖層的顏色計算在內,當然會增加計算的任務量,降低效能了)
避免龐大的 xib(在載入xib的時候會將所有內容都放到記憶體中,大量 xib 會導致記憶體的浪費)
不要阻塞主線程
在 imageview 中調整大小(在執行中縮放是很耗費效能的)
選擇正確的 collection (nsarray/nsmutablearray、nsdictionary/nsmutabledictionary、nsset/nsmutableset)
開啟 gzip 壓縮
重用和延遲載入
快取需要快取
權衡渲染方法
處理記憶體警告(當收到記憶體警告的時候清除不是必須的快取以及一些、可以重建的物件等)
重用重大開銷(比如 nsdateformatter 和 nscalendar。因為他們建立的很慢,可以把它們設定為屬性)
避免反覆處理資料(確保服務端和客服端使用相同的資料格式,避免資料轉換帶來的效能損耗)
正確設定背景(如果用全畫幅的背景圖,用 imageview,如果是小圖平鋪建立背景用 uicolor 的 colorwithpatternimage方法)
減少使用 web 特性
21.imagewithcontentsoffile:則不會載入到記憶體中)
未完待續。。。
nodejs筆記(未完待續)
1 promise用於非同步處理 function getdata resolve,reject 1000 var p newpromise getdata p.then data 2 async function getdata console.log getdata promiseasync f...
nginx 未完待續
yum install y pcre yum install y pcre devel yum install y openssl yum install y openssl devel yum install y zlib yum install y gccyum安裝 yum install y ...
sqlparse(未完待續)
sqlparse.split sql,encoding none sql 包含乙個或多個sql語句的字串 encoding 語句的編碼 可選 sql select from foo select from bar sql list sqlparse.split sql print sql list ...