sponsored links

如何避免iOS應用卡頓

iOS應用除了閃退問題外,卡頓問題也會對APP帶來差評,甚至流失更多的使用者。卡頓是什麼呢?卡頓就是應用執行不流暢的現象,給使用者的直觀感受就是點選螢幕操作有停頓、響應緩慢、介面卡死等。輕微的卡頓問題會影響使用者體驗,嚴重的情況更會造成應用不可用。那麼,針對iOS應用卡頓可以使用友盟+U-APM來解決卡頓的問題。

作為一名有態度、充滿情懷的開發者,當然就是立馬擼起袖子準備修復了。那麼問題來了,我們要從哪下手呢?

俗話說“治病先治根”,那麼就要了解到卡頓是怎樣產生的了。

建立一個UI Button,當用戶點選的時候,主執行緒會響應及處理點選事件,這裡是執行handleButtonAction方法。handleButtonAction方法發起了一個網路請求下載圖片。必然的,這是一個耗時的操作。

在iOS應用中,所有的UI操作及更新都是在主執行緒完成,並且主執行緒的runloop是逐個處理使用者事件的(當然其他的runloop也一樣),所以主執行緒必須等待上一次事件處理完成後才能繼續響應下一次事件。

由於在主執行緒內發起耗時網路請求,主執行緒只能停止響應接下來的所有使用者事件,等待網路請求結束。在等待的這個過程中,應用就停止響應了,也就是出現卡頓現象。

為了更好的理解主執行緒的runloop,我們來看看iOS應用的執行機制。

在 iOS 應用啟動後,系統會自動建立主執行緒並開始執行它的 runloop,監聽處理分發事件,當沒有事件發生時進入休眠狀態,有事件發生時系統會將接收到的事件放在一個佇列裡,然後喚醒 runloop 依次處理事件。

絕大部分使用者感知到的卡頓就是由於主執行緒阻塞了,在處理某次事件消耗了過長的時間,導致主執行緒處於等待狀態,無法及時響應使用者的下一次輸入事件。

由於iOS 上的 UIKit 只能在主執行緒進行處理,導致開發者在開發過程中不經意間在主執行緒做了一些消耗時間的工作,導致了應用卡頓。

根據上述內容我們瞭解到了是什麼原因導致卡頓的,接下來就是如何避免卡頓的問題了,友盟+u-apm監控平臺可幫助到大家!

避免卡頓的黃金法則就是不要讓主執行緒乾重活,例如網路請求,讀寫大檔案,複雜的運算等一些耗費大量系統資源及時間的任務。

充分利用好 iOS 的多執行緒,如 NSThread、NSO peration Queue,GCD 等幹髒活、累活,讓主執行緒能及時迅速的響應使用者事件。

主執行緒輕鬆了,應用就流暢了,使用者也就會越來越多,使用者的使用感爽了,就不用擔心差評的問題了,五星評價也就越來越多嘍~

那麼我們根據上面的黃金法則修改下handle Button Action方法,用GCD 來進行網路請求。經過修改之後,現在主執行緒就不會發生阻塞了,迅速的執行完使用者的點選事件後,然後等待響應使用者的下一次事件。

除了在開發過程中開發者需要時刻牢記黃金法則,避免寫出阻塞主執行緒的程式碼,我們還需要一套監測機制,來幫助我們及時的發現應用卡頓,第一時間定位並修復,給使用者如絲般順滑的操作體驗。

應用釋出後如果碰到使用者反饋卡頓,我們又該如何去定位解決問題?

一個比較常見的場景:使用者反饋應用卡頓,客服人員反饋給開發者,開發者要求使用者提供更加詳細的資訊以定位問題,但是問題又來了,很多時候我們聯絡不上使用者啊!怎麼辦?熬夜加班逐行檢查程式碼,說多了都是淚。

那麼,友盟+U-APM作為一款應用效能監控平臺,這不就派到用場了嘛~不僅可以解決開發者對iOS卡頓問題的煩惱,還可以協助APP應用,讓使用者體驗到APP的流暢性。友盟+U-APM同時提供雲真機測試能力,助力開發者從研發測試質量驗收到線上問題復現排查,保障應用品質,提升測試效率。在雲真機測試期間自動採集崩潰資訊,提供詳盡的崩潰報告協助篩查,真正實現監控測試全流程深度打通。

U-APM應用效能監控平臺,透過輕量級的整合接入即可擁有實時、可靠、全面的應用崩潰、ANR、自定義異常等捕獲能力,及卡頓、啟動分析、記憶體分析、網路分析等效能監測能力,支援多場景、多通道智慧告警監測,幫助開發者高效還原異常、卡頓使用者的訪問路徑和業務現場,縮短故障排查時間。這一塊的功能是我比較喜歡的,建議各位開開者有以上這些煩惱時,都可以試試運用上U-APM的功能,你會發現不一樣的使用和便捷。

分類: 國際
時間: 2022-01-25

相關文章

定了?主張對華展開第二階段溯源調查的譚德塞,將連任世衛總幹事

定了?主張對華展開第二階段溯源調查的譚德塞,將連任世衛總幹事
根據<觀察者網>在9月18日的報道,世界衛生組織總幹事譚德賽有可能會在並無競爭對手的情況下繼續連任世界衛生組織總幹事的職位,現在大局已經很難扭轉.雖然譚德塞本人到現在為止都沒有公開承認過他 ...

美國還想怎麼賴!關鍵時刻“內部影像”曝光,現在就看譚德塞態度

美國還想怎麼賴!關鍵時刻“內部影像”曝光,現在就看譚德塞態度
美國抗擊疫情中的表現讓所有美民眾都失望不已,作為世界上醫療水平最發達的國家之一,美國不僅沒有在抗疫上為全球做出什麼貢獻,反而還成為了拖後腿的存在.為了轉移民眾注意力,美國選擇禍水東引,將責任全部推到了 ...

世衛總幹事譚德塞:黎巴嫩嚴重缺乏基本和必需藥品,急需國際援助
聯合國新聞9月17日訊息,世界衛生組織總幹事譚德塞17日表示,黎巴嫩持續的經濟危機有可能使數十年來在改善人民福祉方面取得的進展發生逆轉. 在結束對這個處於困境中的地中海國家為期兩天的訪問時,譚德塞在首 ...

新冠溯源塵埃落定?中方24小時2次發聲,譚德塞這回徹底捂不住了

新冠溯源塵埃落定?中方24小時2次發聲,譚德塞這回徹底捂不住了
新冠疫情發展到目前,也有兩年了,再回首去看那些在疫情最嚴重的時候的圖片和人物事蹟,我們還是會很有感觸.然而,疫情並沒有徹底結束,反反覆覆的疫情讓我們的生活,與口罩等防護用品聯絡得更加緊密.我們也在疫情 ...

外媒:譚德塞抵達喀布林,將會見阿富汗臨時政府代理總理

外媒:譚德塞抵達喀布林,將會見阿富汗臨時政府代理總理
來源:環球網 [環球網報道]俄羅斯衛星網20日援引阿富汗黎明新聞網訊息,世界衛生組織(WHO)總幹事譚德塞抵達阿富汗首都喀布林.報道稱,他將與阿富汗臨時政府代理總穆罕默德·哈桑·阿洪德.代理副總理阿卜 ...

世衛總幹事譚德塞抵達喀布林,或推動重啟世界銀行對阿富汗衛生部門援助
阿富汗黎明新聞臺9月20日訊息,阿富汗代理衛生部長Wahid Majrooh表示,世衛組織總幹事譚德塞已抵達喀布林. Majrooh透露,譚德塞此行將與阿富汗政府官員會談,討論世界銀行削減對阿富汗衛生 ...

譚德塞抵達喀布林,將會見阿富汗臨時政府代理總理
來源:環球網 外媒:譚德塞抵達喀布林,將會見阿富汗臨時政府代理總理 [環球網報道]俄羅斯衛星網20日援引阿富汗黎明新聞網訊息,世界衛生組織(WHO)總幹事譚德塞抵達阿富汗首都喀布林.報道稱,他將與阿富 ...

世衛組織總幹事譚德塞:黎巴嫩危機急需國際援助

世衛組織總幹事譚德塞:黎巴嫩危機急需國際援助
世衛組織總幹事譚德塞:黎巴嫩危機急需國際援助 聯合國兒基會駐黎巴嫩辦事處隨著黎巴嫩在政治.經濟和人道主義危機中掙扎,該國的衛生系統面臨嚴重壓力. 世界衛生組織總幹事譚德塞今天表示,黎巴嫩持續的經濟危機 ...

“高新”開拓者|譚德勇:我想成為一個分子在生物科學的世界裡遨遊

“高新”開拓者|譚德勇:我想成為一個分子在生物科學的世界裡遨遊
來源:紅網-時刻新聞 紅網時刻9月21日訊(記者 張必聞 張興莎)"核酸檢測",因為一場疫情被大家熟知.我們大多數普通人接觸到的核酸檢測只是"取樣"這一個步驟, ...

新聞早餐來了丨2021-9-19

新聞早餐來了丨2021-9-19
中國新聞網 今天 要聞 解放軍在臺島西南海空域實戰化演練 東部戰區新聞發言人施毅陸軍大校表示,9月17日,中國人民解放軍東部戰區出動包括作戰艦艇.預警機.轟炸機等在內的海空兵力,在臺島西南海空域實施聯 ...

世衛組織:每年近兩百萬人死於職業病及職業傷害,“過勞”為主因

世衛組織:每年近兩百萬人死於職業病及職業傷害,“過勞”為主因
澎湃新聞記者 南博一 9月17日,世界衛生組織和國際勞工組織釋出聯合報告,指出全球每年有近200萬人死於職業相關疾病及傷害,其中工時長是主要原因之一. 據國際勞工組織網站9月17日訊息,此次是世界衛生 ...

事情不簡單,全美11州傳出壞訊息!緊要關頭,拜登將目光投向中國

事情不簡單,全美11州傳出壞訊息!緊要關頭,拜登將目光投向中國
美國疫情再次惡化,共有11個州的新冠病例新增確診人數出現了大幅度的上升.之所以會出現這種情況,是因為這些州大多支援共和黨,對於抗疫措施和疫苗接種比較反感,個體防護力弱給了新冠病毒以可乘之機. 世衛組織 ...

研究表明過度工作可以殺死你,就是字面上的意思

研究表明過度工作可以殺死你,就是字面上的意思
一項關於工作相關死亡原因的新研究發現,長時間工作是最大的職業風險因素.世界衛生組織和國際勞工組織的聯合研究估計,每年有近 200 萬人死於與工作有關的疾病和傷害. 世界衛生組織總幹事譚德塞表示,看到這 ...

世衛組織警告稱黎巴嫩衛生部門面臨崩潰危險
世界衛生組織19日警告稱,由於人才外流.醫療用品和燃料供應嚴重短缺,黎巴嫩衛生部門面臨崩潰危險. 在結束對黎巴嫩為期兩天的訪問後,世衛組織總幹事譚德塞和世衛組織東地中海區域辦事處負責人艾哈邁德·曼達裡 ...

世衛組織總幹事訪問阿富汗:將與阿臨時政府多名官員會面
澎湃新聞記者 南博一 據俄羅斯衛星通訊社9月20日援引阿富汗電視臺Tolo News 報道,世界衛生組織(WHO)總幹事譚德塞抵達喀布林,他將與阿富汗臨時政府代理總理穆罕默德•哈桑•阿洪德.第一代理副 ...

英國前首相布朗被任命為世衛組織全球衛生籌資大使
世衛組織網站9月20日訊息,世衛組織宣佈任命英國前首相戈登·布朗為世衛組織全球衛生籌資大使. 宣告稱,布朗不遺餘力地呼籲富裕國家和私營部門確保公平分配新冠疫苗,倡導全球共同努力,以科學和健全的經濟為基 ...

美國應該“率先垂範”,邀請世衛組織赴美調查
外交部軍控司司長傅聰25日在一次媒體吹風會上說,中方再次敦促美國停止利用新冠病毒溯源問題進行政治操弄.如果美國頑固堅持"實驗室洩漏論",就應該"率先垂範",邀請 ...

阿富汗臨時政府代理總理會見世衛組織總幹事

阿富汗臨時政府代理總理會見世衛組織總幹事
阿富汗塔利班臨時政府代理總理穆罕默德·哈桑·阿洪德9月20日會見了世界衛生組織總幹事譚德塞,雙方討論了阿富汗目前在衛生健康領域面臨的問題. 譚德塞表示,世界衛生組織將繼續支援阿富汗的衛生健康系統,避免 ...

新的世衛組織《全球空氣質量指南》旨在從空氣汙染中挽救數百萬人的生命

新的世衛組織《全球空氣質量指南》旨在從空氣汙染中挽救數百萬人的生命
新的世界衛生組織(世衛組織)<全球空氣質量指南>載有明確證據表明,空氣汙染有害人類健康,甚至在低於以往所知的濃度水平也會導致損害.該指南建議了新的空氣質量水平,以便透過降低主要空氣汙染物的 ...

今天全世界都在看的新聞 2021.9.23

今天全世界都在看的新聞 2021.9.23
世衛修訂空氣質量指南,PM2.5再減半至每立方米5微克 聯合國氣候變化大會下月底舉行,世界衛生組織首次修訂十五年前釋出的<全球空氣質量指南>,下調了多種汙染物的參考水平.譚德塞指出,空氣汙 ...