最近開發(fā)的項目中,連接硬件設備,同步數(shù)據(jù)耗時較長,與硬件對調(diào)時,發(fā)現(xiàn)硬件那邊已經(jīng)將數(shù)據(jù)發(fā)完多時,我這邊還沒處理完,顯得蘋果的處理器還不如一塊STM32單片機(應該是STM32的),影響體驗。遂開啟instruments神器找出耗時的地方,優(yōu)化代碼。
-->打開instruments工具
711500FE-CCA2-4753-9DCA-4C491A254C53.png
--選擇Timer Profiler
7738E146-7900-46C7-866D-C6D1524D5E92.png
--開始運行,這里我是一直運行到同步完數(shù)據(jù)(也就是我想優(yōu)化的地方),然后點擊了結(jié)束,此時就能看到剛剛捕獲的CPU占用的數(shù)據(jù)了。
instrument-02.png
--耗時分析
上圖中,有個頭像的即為自己寫的代碼,此處是unity3D的東西,表示不會,只能暫時先這樣。。。
繼續(xù)找耗時的地方:
instrument-03.jpeg
找到了,這幾個地方是收到藍牙數(shù)據(jù)之后的處理方法,也就是需要優(yōu)化的關(guān)鍵所在,選中,雙擊進去,能定位到代碼:
instrument-04.png
定位到了數(shù)據(jù)處理的方法,然后就可以進去看看怎么想辦法優(yōu)化了。我這里是優(yōu)化了開啟數(shù)據(jù)庫事務和一些數(shù)據(jù)的計算,優(yōu)化完之后,同等的數(shù)據(jù)同步,時間量上縮短了近70%。