利用時間差或者繪制幀數的間隔檢測UI卡頓

看到了鴻洋大神的這篇文章:
https://blog.csdn.net/lmj623565791/article/details/58626355

介紹了幾個方法,不過總結起來就是標題所說的內容,可以看原文后再看一下我的簡要的總結:

  1. 利用loop()中打印的日志
    該方法沒問題,用起來簡單,不過如果你已經設置了logging就得把代碼添加到你現有的logging類里,這點算是一個小缺點

  2. 利用Choreographer
    這個方法是利用了Choreographer的postFrameCallback方法,原理是把Choreographer.getInstance().postFrameCallback設置成自己的監聽,然后在方法內部每次繪制的時候把LogMonitor的message先刪除再添加,這樣就會有一個新的延遲message,然后再重新設置當前的監聽,這樣每繪制一次就會重新執行一次先刪除LogMonitor的舊message再添加新延遲message的操作

鴻洋文章最后的一個方法,只是提供了一個新思路,不過不太好用,把簡單的事情搞復雜了

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Java是強類型語言,對于每一種數據都定義了具體的數據類型,在內存中分配了不同大小的內存空間。 1.整型 整數默認...
    Olivia_SHEN閱讀 295評論 0 0
  • 我默默的 等在三月的 和韻的春風里, 只見春天的花開, 卻不見你來。 我靜靜的 蹴立在臘月的 刺骨的寒風中, 只見...
    山間聽雨者閱讀 233評論 0 0
  • 文|璡石原創 屋里一片漆黑,程思欣躺在床上,哭得肝腸寸斷,連起床的力氣也沒有了,就那樣躺著,時間過去了一個世紀那么...
    璡石閱讀 1,033評論 2 4