由於手機硬體的限制,記憶體和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.當介面不可見時釋放記憶體 當使用者開啟另...