在onCreate中讀pref,解析json數據。html
二、layout過於複雜,沒法在16ms完成渲染。算法
ConstraintLayout纔是一個更高性能的消滅佈局層級的神器。ConstraintLayout 基於Cassowary算法,而Cassowary算法的優點是在於解決線性方程時有極高的效率,事實證實,線性方程組是很是適合用於定義用戶界面元素的參數。json
三、同一時間執行的動畫過多,致使CPU或者GPU負載太重。佈局
四、view過分繪製的問題。性能
手機設置裏面的開發者選項,打開Show GPU Overdraw的選項,輕鬆發現這些問題,而後儘可能往藍色靠近。優化
五、gc過多的問題。動畫
六、資源加載致使執行緩慢。ui
a、預加載,即尚未來到路徑以前,就提早加載好,誒,好像x5內核就是醬紫哦。線程
b、實在是要等到用到的時候加載,請給一個進度條,不要讓用戶乾等着,也不知道何時結束而形成很差的用戶體驗。cdn
七、工做線程優先級設置不對,致使和ui線程搶佔cpu時間。
八、靜態變量。
a、減小布局層級,使用ConstraintLayout替換傳統的佈局方式。
b、檢查是否有多餘的背景色設置。
六、json反序列化問題
json反序列化是指將json字符串轉變爲對象,這裏若是數據量比較多,特別是有至關多的string的時候,解析起來不只耗時,並且還很吃內存。解決的方式是:
a、精簡字段,與後臺協商,相關接口剔除沒必要要的字段。保證最小可用原則。
b、使用流解析,以前我考慮過json解析優化,在Stack Overflow上搜索到這個。因而瞭解到Gson.fromJson是能夠這樣玩的,能夠提高25%的解析效率。
七、viewStub & merge的使用。
tools:showIn=""屬性,就能夠正常展現preview了。