⑴ 針對android的性能優化集中哪些方面
一、概要:
本文主要以Android的渲染機制、UI優化、多線程的處理、緩存處理、電量優化以及代碼規范等幾方面來簡述Android的性能優化
二、渲染機制的優化:
大多數用戶感知到的卡頓等性能問題的最主要根源都是因為渲染性能。
Android系統每隔16ms發出VSYNC信號,觸發對UI進行渲染, 如果每次渲染都成功,這樣就能夠達到流暢的畫面所需要的60fps,為了能夠實現60fps,這意味著程序的大多數操作都必須在16ms內完成。
*關於JobScheler的更多知識可以參考http://hukai.me/android-training-course-in-chinese/background-jobs/scheling/index.html
七、代碼規范
1)for loop中不要聲明臨時變數,不到萬不得已不要在裡面寫try catch。
2)明白垃圾回收機制,避免頻繁GC,內存泄漏,OOM(有機會專門說)
3)合理使用數據類型,StringBuilder代替String,少用枚舉enum,少用父類聲明(List,Map)
4)如果你有頻繁的new線程,那最好通過線程池去execute它們,減少線程創建開銷。
5)你要知道單例的好處,並正確的使用它。
6)多用常量,少用顯式的"action_key",並維護一個常量類,別重復聲明這些常量。
7)如果可以,至少要弄懂設計模式中的策略模式,組合模式,裝飾模式,工廠模式,觀察者模式,這些能幫助你合理的解耦,即使需求頻繁變更,你也不用害怕牽一發而動全身。需求變更不可怕,可怕的是沒有在寫代碼之前做合理的設計。
8)View中設置緩存屬性.setDrawingCache為true.
9)cursor的使用。不過要注意管理好cursor,不要每次打開關閉cursor.因為打開關閉Cursor非常耗時。Cursor.require用於刷cursor.
10)採用SurfaceView在子線程刷新UI,避免手勢的處理和繪制在同一UI線程(普通View都這樣做)
11)採用JNI,將耗時間的處理放到c/c++層來處理
12)有些能用文件操作的,盡量採用文件操作,文件操作的速度比資料庫的操作要快10倍左右
13)懶載入和緩存機制。訪問網路的耗時操作啟動一個新線程來做,而不要再UI線程來做
14)如果方法用不到成員變數,可以把方法申明為static,性能會提高到15%到20%
15)避免使用getter/setter存取field,可以把field申明為public,直接訪問
16)私有內部類要訪問外部類的field或方法時,其成員變數不要用private,因為在編譯時會生成setter/getter,影響性能。可以把外部類的field或方法聲明為包訪問許可權
17)合理利用浮點數,浮點數比整型慢兩倍
18)針對ListView的性能優化,ListView的背景色與cacheColorHint設置相同顏色,可以提高滑動時的渲染性能。ListView中getView是性能是關鍵,這里要盡可能的優化。
getView方法中要重用view;getView方法中不能做復雜的邏輯計算,特別是資料庫操作,否則會嚴重影響滑動時的性能
19)不用new關鍵詞創建類的實例,用new關鍵詞創建類的實例時,構造函數鏈中的所有構造函數都會被自動調用。但如果一個對象實現了Cloneable介面,我們可以調用它的clone()方法。
clone()方法不會調用任何類構造函數。在使用設計模式(Design Pattern)的場合,如果用Factory模式創建對象,則改用clone()方法創建新的對象實例非常簡單。例如,下面是Factory模式的一個典型實現:
20)public static Credit getNewCredit() {
return new Credit();
}
改進後的代碼使用clone()方法,如下所示:
private static Credit BaseCredit = new Credit();
public static Credit getNewCredit() {
return (Credit) BaseCredit.clone();
}
上面的思路對於數組處理同樣很有用。
21)乘法和除法
考慮下面的代碼:
for (val = 0; val < 100000; val +=5) { alterX = val * 8; myResult = val * 2; }
用移位操作替代乘法操作可以極大地提高性能。下面是修改後的代碼:
for (val = 0; val < 100000; val += 5) { alterX = val << 3; myResult = val << 1; }
22)ViewPager同時緩存page數最好為最小值3,如果過多,那麼第一次顯示時,ViewPager所初始化的pager就會很多,這樣pager累積渲染耗時就會增多,看起來就卡。
23)每個pager應該只在顯示時才載入網路或資料庫(UserVisibleHint=true),最好不要預載入數據,以免造成浪費
24)提高下載速度:要控制好同時下載的最大任務數,同時給InputStream再包一層緩沖流會更快(如BufferedInputStream)
25)提供載入速度:讓服務端提供不同解析度的圖片才是最好的解決方案。還有合理使用內存緩存,使用開源的框架
引用:Android性能優化的淺談
⑵ 安卓手機反應慢怎麼辦最簡單的方法
如果您使用的是華為手機,手機升級系統後短時間內出現卡頓,屬於正常現象,如果並非剛升級完出現,請按照以下方案排查:
溫馨提醒:升級系統後卡頓原因:由於系統升級後剛開始使用時,系統會對手機中的應用程序進行優化,此時手機負載較高,使用時可能會出現卡頓情況。建議升級完成後將手機滅屏充電2小時以上,然後重啟手機以保證手機內已安裝的應用優化完成。
1. 檢查手機是否正在下載、復制、傳輸等操作
如果手機正在執行上傳下載(文件、圖片、視頻、應用等)、復制(文件管理拷貝數據等)、傳輸(手機克隆、Huawei Share等)等操作時感覺到卡頓,建議您等待任務結束或停止此操作。
提示:您可以下拉狀態欄查看上傳、下載、傳輸文件的進度。
2. 重啟手機
請您重啟手機後嘗試。建議您2~3天重啟一次手機,重啟能有效的清理緩存,緩解卡頓現象。
3. 檢查手機是否發熱或者充電時使用
手機特有的過熱保護功能會適當降低系統性能。建議您盡量避免充電時使用手機,適當降低屏幕亮度,關閉不使用或異常耗電應用與功能,如「藍牙」,NFC等。
4. 檢查存儲卡
(1)可能是存儲卡存儲的文件過多(建議預留10%以上空間),導致讀寫速度慢,建議您清理存儲卡空間,或備份重要數據(QQ、微信等第三方應用需單獨備份)後格式化存儲卡。
(2)可能是存儲卡硬體異常,是否曾提示「存儲卡異常」,若是,建議您盡快更換存儲卡。
(3)若手機的默認存儲位置為存儲卡,建議您將默認存儲位置更改為「內部存儲」後嘗試。
5. 關閉省電模式、保持電量充足
如果您開啟了省電模式,建議您關閉(設置 > 電池 > 省電模式和 超級省電),並保持電量充足(20%以上)。省電模式和低電量情況下,手機會降低性能以節省電量。
6. 清理存儲空間
手機運行內存和存儲空間不足時會導致應用卡頓,建議您進入手機管家進行清理:
(1)進入手機管家點擊一鍵優化/立即優化,優化完畢後,手機管家會顯示優化結果以及設置建議。根據提示,完成相應的設置。
(2)進入手機管家點擊清理加速,待掃描完畢後,點擊清理項後的立即清理,根據提示刪除多餘的文件,並卸載不常用的應用,保持存儲空間充足(建議預留20%以上)。
7. 升級系統版本
(1)如果手機已經 Root,請恢復成官方穩定版本使用,詳情請致電華為客服咨詢。
(2)建議您及時進行手機系統更新,並將應用升級到最新版本。新版本會對系統性能進行優化提升。更新方法:進入手機設置,搜索進入軟體更新,點擊檢查更新。
提示:恢復版本和升級系統版本會造成數據丟失,請您提前備份好數據(QQ、微信等第三方應用需單獨備份)。
8.卸載第三方手機管家類軟體
如果您的手機裝有第三方手機管理類型的軟體,請卸載此類應用後嘗試。通常此類軟體與手機自帶的手機管家存在沖突,會導致運行卡頓。
9. 恢復出廠設置
請您備份重要數據(QQ、微信等第三方應用需單獨備份),將手機恢復出廠設置後重試。
如果問題仍然存在,請您備份好數據後(QQ、微信等第三方應用需單獨備份)攜帶購機憑證前往華為客戶服務中心進行檢測處理。
溫馨提醒:您可以選擇夜間充電(或滅屏充電40min以上),可以一定程度上整理手機內存碎片,緩解卡頓現象。
相關鏈接如下:寄修服務華為客戶服務中心預約服務維修備件價格查詢
⑶ 安卓手機性能差怎麼辦 優化方法都有哪些
安卓手機優化可以藉助一些優化軟體來對手機進行優化,可以通過騰訊手機管家上面的手機優化功能來對手機進行優化,進入主頁面,點擊一鍵優化,就可以關閉後台運行程序,清理手機內存,和檢測開機自啟軟體等,優化手機的額性能。
⑷ 安卓手機怎樣優化最好
建議您:
1.刪除不必要的數據及應用程序:智能管理器(內存管理器)-儲存空間/內存。
2.關閉不需要的應用程序:點擊屏幕左下角近期任務鍵-點擊要關閉的應用程序右上角的「X」/下方的關閉全部。
3.若手機支持存儲卡,將多媒體文件移動到擴展卡或將拍攝存儲路徑設置為擴展卡。若未有存儲卡,建議定期將多媒體文件移動到電腦中。
4.卸載不經常使用的軟體或文件。
若上述方式操作後,手機內存依然不足,建議備份手機中的數據(聯系人、信息、照片等),恢復出廠設置嘗試。
⑸ 安卓手機卡頓反應慢怎麼解決
如果您使用的是華為手機,升級系統後短時間內出現卡頓,屬於正常現象,如果並非剛升級完出現,請按照以下方案排查:
1. 檢查手機是否正在下載、復制、傳輸等操作
如果手機正在執行上傳下載(文件、圖片、視頻、應用等)、復制(文件管理拷貝數據等)、傳輸(「手機克隆」、Huawei Share等)等操作時感覺到卡頓,建議您等待任務結束或停止此操作。
提示:您可以下拉狀態欄查看上傳、下載、傳輸文件的進度。
2. 重啟手機
請您重啟手機後嘗試。建議您2~3天重啟一次手機,重啟能有效的清理緩存,緩解卡頓現象。
3. 檢查手機是否發熱或者充電時使用
手機發熱嚴重時性能下降出現卡頓。建議您盡量避免充電時使用手機,適當降低屏幕亮度,關閉不使用或異常耗電應用與功能,如「藍牙」,NFC等。
4. 檢查存儲卡
(1)可能是存儲卡存儲的文件過多(建議預留10%以上空間),導致讀寫速度慢,建議您清理存儲卡空間,或備份重要數據後(微信/QQ等應用需單獨備份)格式化存儲卡。
(2)可能是存儲卡硬體異常,是否曾提示「存儲卡異常」,若是,建議您盡快更換存儲卡。
(3)若手機的默認存儲位置為存儲卡,建議您將默認存儲位置更改為「內部存儲」後嘗試。
5. 關閉省電模式、保持電量充足
如果您開啟了省電模式,建議您關閉(設置 > 電池 > 省電模式和 超級省電),並保持電量充足(20%以上)。省電模式和低電量情況下,手機會降低性能以節省電量。
6. 清理存儲空間
手機運行內存和存儲空間不足時會導致應用卡頓,建議您進入手機管家進行清理:
(1)進入手機管家點擊一鍵優化/立即優化,優化完畢後,手機管家會顯示優化結果以及設置建議。根據提示,完成相應的設置。
(2)進入手機管家點擊清理加速,待掃描完畢後,點擊清理項後的立即清理,根據提示刪除多餘的文件,並卸載不常用的應用,保持存儲空間充足(建議預留20%以上)。
7. 卸載第三方手機管家類軟體
如果您的手機裝有第三方手機管理類型的軟體,請卸載此類應用後嘗試。通常此類軟體與手機自帶的手機管家存在沖突,會導致運行卡頓。
8. 升級系統版本
(1)如果手機已經 Root,請恢復成官方穩定版本使用,詳情請致電華為客服咨詢。
(2)建議您及時進行手機系統更新,並將應用升級到最新版本。新版本會對系統性能進行優化提升。
提示:恢復版本和升級系統版本會造成數據丟失,請您提前備份好數據(微信/QQ等應用需單獨備份)。
9. 恢復出廠設置
請您備份重要數據(微信/QQ等應用需單獨備份),將手機恢復出廠設置後重試。
溫馨提醒:您可以選擇夜間充電(或滅屏充電40min以上),可以一定程度上整理手機內存碎片,緩解卡頓現象。
如果問題仍然存在,請您備份好數據後(微信/QQ等應用需單獨備份)攜帶購機憑證前往華為客戶服務中心進行檢測處理。
⑹ 如何優化自己的安卓手機,提高流暢度
你可以試試騰訊手機管家,它有專門的一鍵優化功能,按一下就給你的手機清理垃圾。不過你放心它只會清理你系統中不必要的數據釋放空間,不會刪除你的重要信息。還有記得平時用過手機都用騰訊手機管家關閉一下後台程序,這樣也可以很有效的給你的手機加速。