Android產品性能優化有感

今天與Android開發組長聊瞭如何作好性能優化,發現狀況是繞開不幹或傻幹,所以談了如下幾點,歡迎潑水。性能優化

  1. 不要先入爲主,認爲無法優化;
  2. 不要先去優化,而要評測;
  3. 最好使用自動工具,手工打日誌時不要費神幹體力活記上下文信息;
  4. 就算幹體力活也要幹閉眼都能幹的活;
  5. 不要手工看日誌,要利用Excel圖表呈現,按Tab分列輸出日誌;
  6. 不要急於實現,先想要怎樣使用,即便領導催得急也要考慮方法是否有效,綜合考慮短時間和長期收益;
  7. 先考慮機制、應用場景,不要先考慮如何實現;
  8. 不要本身傻幹,更不要帶着你們傻幹,能不幹少幹最好,好方法永遠是懶人想出來的;
  9. 仍是不要急於實現,先考慮功能,再分包出去,即便分爲本身;
  10. 砍柴不誤磨刀工,花時間寫自動播放機制,讓平板少啓動幾回、多跑一會;
  11. 不要用百度,用googlestable.com,不要輸中文和全句(結果你懂的),應輸入英文關鍵字,分清是在可行性分析仍是編碼實現,可別掉進知識和垃圾的海洋;
  12. 先廣撒網、數據分析過濾,圖表呈現問題,逐級精寫日誌,鎖定問題點;
  13. 使用腳本批量清除日誌語句,由於已經將寫各類日誌簡化爲一種「TimeLog.d();」,不論開始、中間和結尾。

初期安排:函數

  1. 有一個類 TimeLog,只有一個函數 d(),在要記日誌的地方只須要寫 TimeLog.d();,不用區分函數名(從調用堆棧取)、開始、分區、結束(序號自增),二分法、三分法、N分法都行。
  2. 讓你們分頭廣撒日誌,可能有問題的地方都狂加TimeLog.d();,寧肯錯殺三千不放過一個。
  3. 在平板上跑一次,記錄大量日誌,每行日誌按Tab分列,第一個字符是Tab以便與普通日誌區分(下句見分曉)。
  4. 將日誌文本複製到Excel,去掉第一列,那些都是普通日誌,而後複製到UltraEdit將多餘空行所有替換掉,而後複製到Excel,如今是規整的表格了。
  5. 在PPT中利用自動圖表工具,將Excel數據複製到圖表,生成多線圖表,性能問題一目瞭然了。
  6. 對於偶發問題,須要多跑幾回,最好寫點狂跑代碼,讓日誌記錄多飛一會。根據問題點,再來次精寫日誌,仍是TimeLog.d();,讓出問題的語句暴露。

後續固然是針對問題最嚴重的語句作優化了,相互分享才能改進質量,造些實用工具類是避免問題分散的方法。工具

相關文章
相關標籤/搜索