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