面試總結 - 耗電優化

耗電優化

1.CPU處理;
2.網絡請求;
3.定位;
4.圖像渲染

1.1儘可能降低 CPU、GPU 功耗;

1.2少用定時器;
1.3 優化I/O操作:
儘量不要頻繁寫入小數據,最好一次性批量寫入;
讀寫大量重要數據時,可以用 dispatch_io,它提供了基於 GCD 的異步操作文件的 API,使用該 API 會優化磁盤訪問;
數據量大時,用數據庫管理數據;

2.網絡優化:

2.1減少、壓縮網絡數據(JSON 比 XML 文件性能更高);
2.2若多次網絡請求結果相同,儘量使用緩存;
2.3使用斷點續傳,否則網絡不穩定時可能多次傳輸相同的內容;
2.4網絡不可用時,不進行網絡請求;
2.5讓用戶可以取消長時間運行或者速度很慢的網絡操作,設置合適的超時時間;
2.6批量傳輸,如下載視頻,不要傳輸很小的數據包,直接下載整個文件或者大塊下載,然後慢慢展示;

3.定位優化:

3.1如果只是需要快速確定用戶位置,用 CLLocationManager 的 requestLocation 方法定位,該方法只會獲取一次當前位置;
3.2若不是導航應用,儘量不要實時更新位置,用完之後就關閉掉定位服務;
3.3儘量降低定位精度KCLLocationAccuracyBest
3.4需要後臺定位時,儘量設置 pausesLocationUpdatesAutomatically 爲 YES,若用戶不怎麼移動的時候,系統會自暫停位置更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章