性能調(diào)優(yōu)貫穿于鴻蒙應(yīng)用開發(fā)的整個(gè)生命周期中,開發(fā)前有性能最佳指南等賦能套件讓你快速上手學(xué)習(xí),開發(fā)過(guò)程中有性能工具開發(fā)套件覆蓋應(yīng)用開發(fā)各階段,應(yīng)用開發(fā)完成上架后有專業(yè)的性能測(cè)試工具檢查測(cè)試應(yīng)用性能指標(biāo)。本文重點(diǎn)介紹應(yīng)用開發(fā)過(guò)程中使用性能工具與性能優(yōu)化文章定位分析性能問題流程,目前DevEco Studio主要集成了四種性能工具,在不同的開發(fā)階段各有側(cè)重,主要分為性能問題檢測(cè)類工具和性能問題分析類工具。
性能工具集定位分析性能問題流程
體檢工具和代碼檢查工具聯(lián)動(dòng):針對(duì)共性問題觸發(fā)代碼白盒檢查,通過(guò)性能規(guī)則精確發(fā)現(xiàn)開發(fā)者開發(fā)過(guò)程中引入的性能問題,并給出具體的修改建議和范式。
體檢工具和調(diào)試&調(diào)優(yōu)工具聯(lián)動(dòng):部分不能通過(guò)具體規(guī)則攔截的性能問題,跳轉(zhuǎn)到調(diào)試&調(diào)優(yōu)工具進(jìn)行分析,分析并行化、組件耗時(shí)、頁(yè)面層次等具體問題。
1. 檢測(cè)發(fā)現(xiàn)性能問題,在代碼編輯階段可以使用Code Linter代碼檢查工具對(duì)代碼進(jìn)行單個(gè)文件或者文件夾進(jìn)行靜態(tài)代碼掃描;同時(shí)在應(yīng)用功能開發(fā)完成后,在運(yùn)行態(tài)可以使用應(yīng)用體檢工具檢測(cè)應(yīng)用運(yùn)行過(guò)程中的性能問題;
2. 以應(yīng)用體檢工具為主,對(duì)于動(dòng)態(tài)運(yùn)行檢測(cè)發(fā)現(xiàn)的性能問題,提供三種修復(fù)問題的路徑:
根據(jù)跳轉(zhuǎn)的官網(wǎng)性能指導(dǎo)來(lái)修改發(fā)現(xiàn)的性能問題;
根據(jù)檢測(cè)結(jié)果的問題頁(yè)面,觸發(fā)該頁(yè)面源文件的Code Linter靜態(tài)性能檢查,根據(jù)靜態(tài)檢查結(jié)果跳轉(zhuǎn)到官方最佳性能實(shí)踐指導(dǎo)修復(fù)性能問題;
根據(jù)檢測(cè)結(jié)果的過(guò)程性能文件,跳轉(zhuǎn)到DevEco Profiler導(dǎo)入該文件深入分析,定位發(fā)現(xiàn)性能瓶頸點(diǎn);
解決應(yīng)用性能問題的策略
構(gòu)建以體檢工具為主,調(diào)優(yōu)工具為輔的性能工具集,通過(guò)應(yīng)用體檢發(fā)現(xiàn)問題并給出修復(fù)建議。
滑動(dòng)卡頓丟幀和時(shí)延類問題
1. 有檢查規(guī)則覆蓋的問題
應(yīng)用體檢工具的Benchmark體檢套餐目前集成了通用性能檢測(cè)項(xiàng)和最佳性能實(shí)踐檢測(cè)規(guī)則,對(duì)于性能規(guī)則能覆蓋的滑動(dòng)卡頓丟幀和時(shí)延類性能問題,這類問題的定位思路如下:
打開應(yīng)用體檢工具,準(zhǔn)備好調(diào)測(cè)軟件包,選擇Benchmark體檢套餐,自定義選擇性能檢查測(cè)試項(xiàng),點(diǎn)擊開始執(zhí)行應(yīng)用體檢;
執(zhí)行檢測(cè)過(guò)程分為自動(dòng)檢測(cè)和手動(dòng)檢測(cè),自動(dòng)檢測(cè)完成后會(huì)提示用戶手動(dòng)操作應(yīng)用。應(yīng)用體檢工具會(huì)自動(dòng)分析發(fā)現(xiàn)應(yīng)用執(zhí)行過(guò)程中的性能問題,將檢測(cè)結(jié)果呈現(xiàn)給用戶,用戶重點(diǎn)關(guān)注未通過(guò)項(xiàng);
查看未通過(guò)項(xiàng)詳情,對(duì)于性能規(guī)則能覆蓋的性能問題,可首先查看性能指導(dǎo)嘗試修復(fù)問題,也可觸發(fā)問題頁(yè)面源碼文件的Code Linter靜態(tài)性能檢查,根據(jù)靜態(tài)檢測(cè)結(jié)果呈現(xiàn)的具體錯(cuò)誤和最佳性能實(shí)踐修復(fù)問題。
2. 無(wú)檢查規(guī)則覆蓋的問題
對(duì)于性能規(guī)則不能覆蓋的滑動(dòng)卡頓丟幀和時(shí)延類性能問題,這類問題的定位思路如下:
打開應(yīng)用體檢工具,準(zhǔn)備好調(diào)測(cè)軟件包,選擇Benchmark體檢套餐,自定義選擇性能檢查測(cè)試項(xiàng),點(diǎn)擊開始執(zhí)行應(yīng)用體檢;
執(zhí)行檢測(cè)過(guò)程分為自動(dòng)檢測(cè)和手動(dòng)檢測(cè),自動(dòng)檢測(cè)完成后會(huì)提示用戶手動(dòng)操作應(yīng)用。應(yīng)用體檢工具會(huì)自動(dòng)分析發(fā)現(xiàn)應(yīng)用執(zhí)行過(guò)程中的性能問題,將檢測(cè)結(jié)果呈現(xiàn)給用戶,用戶重點(diǎn)關(guān)注未通過(guò)項(xiàng);
查看未通過(guò)項(xiàng)詳情,對(duì)于性能規(guī)則不能覆蓋的性能問題,可將檢測(cè)過(guò)程中生成的trace文件或者perfdata文件導(dǎo)入到DevEco Profiler工具,深入分析代碼的性能瓶頸點(diǎn),修復(fù)性能問題。
內(nèi)存類問題
對(duì)于應(yīng)用的內(nèi)存類問題定位思路如下:
1. 打開應(yīng)用體檢工具,準(zhǔn)備好調(diào)測(cè)軟件包,選擇Benchmark體檢套餐,自定義選擇內(nèi)存相關(guān)性能檢測(cè)項(xiàng),點(diǎn)擊開始執(zhí)行應(yīng)用體檢;
2. 執(zhí)行檢測(cè)過(guò)程分為自動(dòng)檢測(cè)和手動(dòng)檢測(cè),自動(dòng)檢測(cè)完成后會(huì)提示用戶手動(dòng)操作應(yīng)用。應(yīng)用體檢工具會(huì)自動(dòng)分析發(fā)現(xiàn)應(yīng)用執(zhí)行過(guò)程中的性能問題,將檢測(cè)結(jié)果呈現(xiàn)給用戶,用戶重點(diǎn)關(guān)注未通過(guò)項(xiàng);
3. 查看未通過(guò)項(xiàng)詳情,可將檢測(cè)過(guò)程中生成的snapshot文件導(dǎo)入到DevEco Profiler工具,深入分析代碼的性能瓶頸點(diǎn),修復(fù)內(nèi)存問題。
-
代碼
+關(guān)注
關(guān)注
30文章
4891瀏覽量
70309 -
性能
+關(guān)注
關(guān)注
0文章
276瀏覽量
19319 -
應(yīng)用開發(fā)
+關(guān)注
關(guān)注
0文章
63瀏覽量
9681
原文標(biāo)題:性能最佳實(shí)踐導(dǎo)讀
文章出處:【微信號(hào):HarmonyOS_Dev,微信公眾號(hào):HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
鴻蒙5開發(fā)寶藏案例分享---應(yīng)用性能優(yōu)化指南
評(píng)估通過(guò)Python快速開發(fā)異構(gòu)處理器FPGA應(yīng)用性能(PYNQ評(píng)測(cè))
具有特殊應(yīng)用性能的模擬開關(guān)有什么優(yōu)點(diǎn)
WLAN優(yōu)化調(diào)整需要注意哪些因素?
高性能永磁交流伺服電機(jī)系統(tǒng)控制策略資料分享
新IGBT技術(shù)提高應(yīng)用性能

常見流媒體服務(wù)器應(yīng)用性能比較
恒憶創(chuàng)新多位配置串口NOR閃存加速嵌入式應(yīng)用性能
怎樣通過(guò)DPDK GRO和GSO來(lái)提高網(wǎng)絡(luò)的應(yīng)用性能?

HarmonyOS下如何測(cè)試應(yīng)用性能
A-Ops數(shù)據(jù)庫(kù)場(chǎng)景在線應(yīng)用性能診斷案例
使用32Gb/S光纖通道實(shí)現(xiàn)更快的應(yīng)用性能

使用Arthas火焰圖工具的Java應(yīng)用性能分析和優(yōu)化經(jīng)驗(yàn)

評(píng)論