Android中效能優化

2021-10-04 19:07:42 字數 1010 閱讀 9094

由於手機硬體的限制,記憶體和cpu都無法像pc一樣具有超大的記憶體,android手機上,過多的使用記憶體,會容易導致oom,過多的使用cpu資源,會導致手機卡頓,甚至導致anr。我主要是從一下幾部分進行優化:

布局優化,繪製優化,記憶體洩漏優化,響應速度優化,listview優化,bitmap優化,執行緒優化

布局優化:工具 hierarchyviewer,解決方式:

1、刪除無用的空間和層級。

2、選擇效能較低的viewgroup,如relativelayout,如果可以選擇relativelayout也可以使用linearlayout,就優先使用linearlayout,因為相對來說relativelayout功能較為複雜,會占用更多的cpu資源。

3、使用標籤重用布局,減少層級,進行預載入,使用的時候才載入。

繪製優化

繪製優化指view在ondraw方法中避免大量的耗時操作,由於ondraw方法可能會被頻繁的呼叫。

1、ondraw方法中不要建立新的區域性變數,ondraw方法被頻繁的呼叫,很容易引起gc。

2、ondraw方法不要做耗時操作。

記憶體優化:參考記憶體洩漏。

響應優化

主線程不能做耗時操作,觸控事件5s,廣播10s,service20s。

listview優化:

1、getview方法中避免耗時操作。

2、view的復用和viewholder的使用。

3、滑動不適合開啟非同步載入。

4、分頁處理資料。

5、使用**快取。

bitmap優化:

1、等比例壓縮。

2、不用的,及時recycler掉

執行緒優化

執行緒優化的思想是使用執行緒池來管理和復用執行緒,避免程式中有大量的thread,同時可以控制線程的併發數,避免相互搶占資源而導致執行緒阻塞。

其他優化

1、少用列舉,列舉占用空間大。

2、使用android特有的資料結構,如sparsearray來代替hashmap。

3、適當的使用軟引用和弱引用。

SQL SERVER中 效能問題

1.對查詢進行優化,應盡量避免全表掃瞄,考慮在 where 及 order by 涉及的列上建立索引。2.避免使用 left join 和 null 值判斷。left join 比 inner join 消耗更多的資源。3.避免在 where 子句中使用 或 操作符,否則引擎可能放棄使用索引而進行全...

Android效能優化

android效能優化 1.http用gzip壓縮,設定連線超時時間和響應超時時間 http請求按照業務需求,分為是否可以快取和不可快取,那麼在無網路的環境中,仍然通過快取的httpresponse瀏覽部分資料,實現離線閱讀。2.listview 效能優化 1 復用convertview 在geti...

Android效能優化

1.節制地使用service 如果應用程式當中需要使用service來執行後台任務的話,請一定要注意只有當任務正在執行的時候才應該讓service執行起來。另外,當任務執行完之後去停止service的時候,要小心service停止失敗導致記憶體洩露的情況 2.當介面不可見時釋放記憶體 當使用者開啟另...