iOS開發(fā) 性能優(yōu)化

1.降低app包大小

  • 利用 AppCode 檢測(cè)未使用的代碼:菜單欄 -> Code -> Inspect Code
  • 無損壓縮項(xiàng)目中的圖片資源,刪除無用資源圖片
  • 編譯器優(yōu)化項(xiàng)目?jī)?yōu)化(編譯器優(yōu)化級(jí)別、去除符號(hào)信息)
  • 去掉舍棄架構(gòu)armv7

參考鏈接

2.如何優(yōu)化UITableview

  • 正確的復(fù)用cell
  • 盡量避免使用透明色
  • 動(dòng)態(tài)計(jì)算并緩存行高,避免重新布局
  • 加載網(wǎng)絡(luò)數(shù)據(jù),使用異步加載,緩存請(qǐng)求結(jié)果
  • 滑動(dòng)很快時(shí),按需加載范圍內(nèi)的cell
  • 刷新使用reloadSection
  • cell中的控件盡量少,避免動(dòng)態(tài)的添加視圖
  • 不要做多余的繪制工作
  • 盡量少用xib

3.什么情況下會(huì)導(dǎo)致內(nèi)存泄漏

  • NSTimer :self 持有 timer,timer 在初始化時(shí)持有 self,造成循環(huán)引用。 解決的方法就是,在dealloc方法以外,使用 invalidate 方法銷掉 timer。
  • block : block中使用self時(shí),會(huì)導(dǎo)致self,block的互相持有,無法釋放。__weak修飾
  • 代理使用Strong修飾也會(huì)導(dǎo)致
  • 通知及kvo沒有移除監(jiān)聽也會(huì)導(dǎo)致內(nèi)存泄漏
  • OC中直接運(yùn)用C語言 (靜態(tài)分析analyze)

4.檢測(cè)內(nèi)存泄漏

參考文章

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容