1. 程式人生 > >包建強的培訓課程(9):Android App效能優化

包建強的培訓課程(9):Android App效能優化

課程名稱:Android App效能優化

一、簡介

本課程根據講師多年來從事App開發的工作經驗,以及業界若干App的效能優化經驗分享,總結出Android App開發時的若干效能優化經驗,基本覆蓋了Android App效能優化的方方面面。

本課程在講解Android App效能優化技術的同時,還涉及了很多Android底層技術,包括:

l16ms黃金準則

本課程對於千萬級使用者的App產品和小量的App產品都適用,尤其是目前存在效能問題對Android App

本課程適用於具有以下特徵的學員:

11-2Android開發經驗。

2、正在對公司App做效能優化工作。

二、培訓大綱(2天)

第一天

1抽絲剝繭看效能——Android效能問題概述

lAndroid渲染原理

lAndroid效能問題分類

lAndroid效能優化指標

2好借好還,再借不難——Android記憶體洩漏

l什麼是記憶體洩漏?

l物件的四種引用型別

l記憶體洩漏偵測工具LeakCanary

l場景1:靜態變數引用Activity物件

l場景2:靜態View

l場景3:內部類和匿名類

l場景4Handler

l場景5ThreadsTimerTask

l場景6:監聽器

l場景7:靜態集合物件引起的洩漏

l場景8:資源物件未關閉

l場景9:使用物件池避免頻繁建立物件

l場景10Back鍵退出引起的洩漏

3最不願看到的彈出框——ANR問題

lANR發生原因

l使用StrictMode規避ANR

4壓死駱駝的最後一根稻草——OOM問題

lOOM原理

l使用MAT檢測記憶體問題

lOOM規避

5感受如絲般潤滑——Android流暢度問題

l16ms效能

l過度繪製

lGPUCPU繪製

l記憶體抖動

lGPU呈現模式分析

l慎用異常

l卡頓監控工具:BlockCanary

lTraceViewSysTrace

6程式設計中的藝術品——Android佈局的效能問題

linclude

lmerge

lViewStub

lCompoundDrawable

l使用HierarchyView檢視佈局層次

l使用Dump UI Hierarchy for UI Automator檢視佈局層次

l使用Lint靜態檢查佈局

7手機發燙的罪魁禍首——Android耗電問題

lBroadcastReceiver

l資料傳輸

l位置服務

lAlarmManager

l瞌睡模式

課堂練習:

l使用工具排查公司App的記憶體問題

l使用工具排查公司AppANR

l使用工具排查公司App的記憶體洩漏

第二天

8越用越卡為哪般——Android圖片渲染優化

l圖片渲染優化方案

lVector

l雙快取

lImageServer

9想說愛你不容易——ListView效能問題

lViewHolder模式

l按需載入圖片

l滑動引起的多執行緒併發問題

l列表項中圖片的圓角和縮放

l巢狀列表的解決方案

10高速公路任我行——Android網路訪問優化

l資料快取

l重試機制

l介面合併

l增量更新

l低端機模式

l弱網優化之道

11資料,還是資料——SQLite調優

l快速查詢:按需獲取資料列

l快速查詢:提前獲取列索引

l快速查詢:ContentValues的容量調整

l快速查詢:建立索引

l索引真的好麼?

l編譯SQL語句

l顯示使用事務

l及時關閉Cursor

l把耗時操作放在非同步執行緒中