第三媒體軟件中心軟件網絡資訊互聯網資訊 → 移動應用性能那么差 透視寶Smart SDK怎么破解?! TTL

移動應用性能那么差 透視寶Smart SDK怎么破解?!

上傳:山地枯木     來源:信息存儲服務     日期:2016-01-08

[摘要]  
   透視寶是云智慧的新一代應用性能管理(APM)平臺,面向業務提供全棧性能監控、分析與管理的云端解決方案。對于移動應用的性能問題,透視寶是通過嵌入SDK來實現真實用戶體驗跟蹤的,支持Native、H5以及混合開發模式的應用監控,幫助開發人員實時發現與定位應用崩潰、加載緩慢等各種故障與性能問題
 
[正文]    

   透視寶是云智慧的新一代應用性能管理(APM)平臺,面向業務提供全棧性能監控、分析與管理的云端解決方案。對于移動應用的性能問題,透視寶是通過嵌入SDK來實現真實用戶體驗跟蹤的,支持Native、H5以及混合開發模式的應用監控,幫助開發人員實時發現與定位應用崩潰、加載緩慢等各種故障與性能問題。

移動應用性能那么差 透視寶Smart SDK怎么破解?!


  透視寶在移動端嵌入的SDK被稱為Smart SDK,它是如何實現對不同移動應用用戶行為與體驗數據智能采集的呢,又有哪些實際應用呢,云智慧高級開發攻城獅Alvin將為您逐一解讀。

  Smart SDK能干嘛?

  總結一句話就是Smart SDK能夠解決開發者的痛點,給業務人員出決策參考意見。移動開發者的痛點就是各種Bug:卡頓、閃退、頁面加載慢、網絡連接超時,網絡被劫持;而業務人員的正確決策需要關注真實用戶的體驗。把這些需求歸結為技術實現,主要有3部分:網絡監控、事務監控、Crash信息收集。

移動應用性能那么差 透視寶Smart SDK怎么破解?!


  詳細功能圖如下圖所示:

移動應用性能那么差 透視寶Smart SDK怎么破解?!

  Smart SDK功能圖

  針對HTTP的網絡數據收集主要分為以下指標:請求時間、網絡吞吐量和網絡錯誤,劫持分析等。

  l 請求時間是指一個http請求從發起請求到接收到服務端的響應,這期間所經歷的時間。這個指標可以跟蹤后臺接口的響應是否正常,網絡環境是否正常。

  l 網絡吞吐量是指單位時間內某一個url請求的次數。這個指標可以跟蹤后臺接口是否能夠響應大規模的請求。因為單位時間內某個接口的響應次數是100和10000,不管是技術層面還是業務層面,都會做出不同的響應。某個接口有大規模的請求,技術上就要做壓力評估,業務上則應該加大跟蹤和投入了。

  l 網絡錯誤主要是跟蹤url請求過程中的錯誤,分為http本身的錯誤和因網絡狀況出現的錯誤。

  針對Socket的網絡數據收集,主要包括Socket建立連接的耗時、DNS解析耗時、連接異常、數據讀寫異常的。

  事務監控里面的用戶行為監控,能夠將所有的性能數據串起來,就可以滿足開發者和業務人員的需求,也就是我們常說的基于業務的性能監控。事務監控可以分為很多類,有用戶的操作,頁面的加載,圖片的渲染,線程操作,數據解析等。

  l 用戶操作主要是監控APP里的點擊事件;

  l 頁面加載要監控頁面加載周期的各個接口,除了用戶的操作外,APP的所有業務邏輯都是在頁面的生命周期函數中做的;

  l 圖片加載也是影響APP性能的罪魁禍首之一,美工切的一張簡單的圖,在APP里渲染、顯示出來,會消耗不少的資源,因此將它作為一個性能消耗點來監控;

  l 線程操作是導致主線程卡頓的主因;

  l 數據解析雖然可以在子線程里做,但都是同步的,會導致頁面加載變慢。

  APP崩潰一直是移動開發者最大的痛點,所以收集崩潰日志,快速定位問題根源,是最好的解決辦法。

  而用戶信息收集可以將APP的性能數據和真實用戶對應起來,在發現APP性能問題后,第一時間與真實用戶建立聯系,溝通解決。

  上面這些就是Smart SDK所能實現的功能。

  Smart SDK實現原理

  下面先以iOS應用為例說一下透視寶Smart SDK是如何實現應用性能監控的。iOS平臺的原生開發語言是Objective-C,具有動態運行時的特點,Cocoa框架提供了很多動態運行時接口可以對OC接口進行hook,也就是方法攔截。

  通過方法攔截,就可以獲取到方法的參數值,方法執行開始、結束的時間戳。。。方法執行的性能數據就出來。

移動應用性能那么差 透視寶Smart SDK怎么破解?!


  OC方法攔截原理圖

  OC有一個很好用的語法,叫Category。通過Category,可以給原有的類(系統類,自己的類)添加一個新的接口,OC中叫selector(方法選擇器),每一個方法,對應一個實現體(IMP),類似函數入口地址。

  通過Category新增一個SelectorN方法,使用動態運行時函數交換SelectorC與SelectorN的實現體,就實現了兩個方法的交換。SelectorC與SelectorN除了名字不一樣 ,其他的都一樣(參數和返回值)。開發者在調用SelectorC時,就會調用到SelectorN。我們的目的就達到了。

  APP啟動,在類文件加載進內存時,系統會調用每一個類的load類函數(Swift工程里的Swift類沒有load函數,就調用initialize函數),方法交換就是在這里面做的。

  說完了iOS,再說說Android。Android的原生開發語言是Java,Java沒有提供動態運行時的接口來hook方法,但提供了字節碼改寫的方法。

  先來看看經典的Android APP打包流程圖。

移動應用性能那么差 透視寶Smart SDK怎么破解?!

Android APP打包流程圖

  所有資源文件(xml,png之類)、源代碼文件等都會經過java編譯器編譯成 .class的字節碼文件。再與其他庫文件一起,由Android sdk提供的dex工具,轉換成Android平臺的.dex文件,再通過apk打包工具打成apk包等等。

  這一打包流程圖,翻譯一下,就是下面這張圖。

移動應用性能那么差 透視寶Smart SDK怎么破解?!


  我標出了關鍵部位,沒有打馬賽克,對,這就是Smart SDK,在.class 文件準備轉換成.dex文件之前起的作用。

  通過代理,在dex工具的接口中,使用ASM框架,把進入dex里面所有的.class文件讀出來,找到我們感興趣的方法,改寫(加些數據收集代碼),再讓打包流程繼續,最終生成的apk包里,就有了我們的收集性能數據的代碼。

  客戶案例分析

  目前我們接觸次數最多的是百程旅行網,他們使用SDK已經有3個月時間了。下圖是他們最新版APP的性能情況,從數據上來看,他們的APP的性能真有待提高。

移動應用性能那么差 透視寶Smart SDK怎么破解?!


  崩潰率確實有點高,優秀的APP崩潰率是千分之一到千分之二,所以他們亟需我們的SDK定位崩潰根源。通過抓取的崩潰信息,可以給他們進行初步參考,因為上傳到APP Store的APP產生的崩潰日志,需要對應的解碼文件才能查看具體崩潰在哪個文件的哪一行代碼上。

  這里發現他們另外一個問題是網絡請求時間太長,在跟他們技術交流之后,初步判斷網絡請求時間長的有一部分原因,是因為線上數據混入了測試數據造成的結果。

  一個杭州的用戶在6分鐘內發起了5800多次請求,請求錯誤率高達98%以上。當時他們不相信那是真實的,其實我也不太相信。后來再次跟開發人員交流,問那個網絡請求接口是否循環調用了,他回答是:請求接口在請求成功之前會一直循環調用,直到請求成功或是斷網。就是因為杭州這個用戶在一個時間點訪問的api有問題,導致循環請求。

  還有一點,我們通過Smart SDK發現好些API報錯是找不到主機,客戶端的開發說是因為很多接口廢棄了,但客戶端還在調用,他們內部也明確說明要清理一遍廢棄的api。

  目前,百程旅行網用Smart SDK已經找出了應用崩潰的根源,以及API慢、不可用的原因,每周會根據我們統計的數據做一次性能優化。

    (新聞稿 2016-01-08)


頻道首頁 】【 評論 】 【 打印 】 【 字體:
   上一篇:中國智造團勇闖CES爭霸賽,億航、人智機器人美國出彩
   下一篇:信息安全應有序而為 產業鏈閉環打擊詐騙或將升級
導航:報價 | 大全 | 排行榜 | 產品大全 | 參量 | 訂閱 
 Advertisement
 十大最受關注的新聞
1  華碩重炮手主板雙11裝機必選 輕松備戰《龍騰世紀4》
2  亞運一周年|杭州電競如何重塑行業格局與未來趨勢?
3  受邀參加云棲大會,Soul App構建人與AI共存的社交網絡
4  上UC瀏覽器十一快樂供給站,輕松去班味,福利免費領
5  WRCA世界紀錄認證官馬克西姆宣布德施曼GPTfinger技術獲世界紀錄認證
6  老片新聽享!東芝Z600NF PRO演繹,老電影如何實現音質“重生”
7  榮耀智慧屏: 品質家居,55英寸榮耀智慧屏X2高性價比
8  戰略簽約 美云智數助力安徽家電企業數字化轉型升級
9  聯想ThinkPad與英特爾攜手亮相2024抖音創作者大會,加速生成式AI創作
10  亮相全球數貿會,廣域銘島展示數智轉型的中國智慧
 十大熱門驅動/軟件下載
1  [手機驅動]手機usb萬能
2  [熱門常用軟件]QQ2008正式版下載【騰訊QQ2008官方版Beta1】
3  [熱門常用軟件]E話通下載【E話通4.5 正式版】
4  [手機驅動]Samsung三星 手機USB驅動1.0版For Win98SE/ME/...
5  [手機驅動]Microsoft微軟 ActiveSync同步軟件4.5中文版Fo...
6  [攝像頭驅動]萬能攝像頭 FOR Windows
7  [熱門常用軟件]皮皮播放器下載【PPFilm皮皮播放器 2.1.0....
8  [手機驅動]諾基亞 PC套件下載
9  [熱門常用軟件]面對面游戲下載【面對面視頻游戲大廳】
10  [手機驅動]Microsoft微軟 Windows Mobile Device Center ...
 十大最受關注的品牌
1  三星手機(SAMSUNG)
2  諾基亞手機(NOKIA)
3  華碩筆記本(ASUS)
4  摩托羅拉手機(MOTOROLA)
5  英特爾CPU(Intel)
6  華碩主板(ASUS)
7  LG手機(LG)
8  索愛手機(Sony Ericsson)
9  聯想筆記本(lenovo)
10  宏碁筆記本(acer)
 十大熱門常用軟件下載
1  QQ2008正式版下載【騰訊QQ2008官方版Beta1】
2  E話通下載【E話通4.5 正式版】
3  皮皮播放器下載【PPFilm皮皮播放器 2.1.0.2版】
4  面對面游戲下載【面對面視頻游戲大廳】
5  DVD解碼器下載【NVIDIA DVD Decoder 1.02】
6  迅雷5下載【迅雷5.8.1.507官方版】
7  QQ2007 II正式版下載【騰訊QQ2007官方版本】
8  QQ2006正式版下載【騰訊QQ2006官方版本】
9  聯眾世界游戲大廳下載【聯眾世界2.7.0.8官方版】
10  MTV下載器【MTV下載精靈 8.31版】
11  pplive最新版下載【PPLive網絡電視V1.9.35版】
12  迅雷(Thunder)下載【迅雷v5.7.12.493官方版】
13  騰訊QQ2008下載【騰訊QQ官方版2008極速賀歲版KB1】
14  Total Video Converter下載【Total Video Converter v3.1...
15  QQ拼音輸入法下載【騰訊QQQQ拼音輸入法V1.4.1版】
16  皮皮高清影視播放器下載【PIPIPlayer 2.7.0.3版】
17  eMule下載【電驢eMule官方v0.49a正式版】
18  極點五筆輸入法下載【極點五筆6.1標準版】
19  QQ2009正式版下載【騰訊QQ2009 SP4官方版】
20  Vagaa哇嘎畫時代版下載【哇嘎 2.6.5.10】
   >> 查看評論   
 
   >> 查看更多評論   [共有0條評論]
發表評論
        
        
   點評:
   姓名:  
            字數: 0
     
新聞精選
·拍剪一體,秒傳分享,mentech全景時光PanoX V
·慧博科技:“互動產品解決方案”全面進化,AI
·科大訊飛AI文娛論壇,為文娛產業注入新活力
·對話高通孟樸:自研Oryon CPU背后,是移動計
·為什么Soul的樹洞有那么多讀書筆記?
·HTX聚焦迪拜加密峰會:強化中東市場戰略布局
  ·出席2024聲網RTE大會,Soul App展現多模態大
·對話趙小丁:電影工業的科技革新
·爆款大讓利 金士頓雙11開門紅福利免費抽
·ExecuTorch 測試版上線,加速 Arm 平臺邊緣側
·“主播訓練營月度成長黑馬”首期榜單揭曉 看
·高通中國區董事長孟樸:5G與AI的融合正加速企

相關文章

更多檢索

其他

系列