最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android?IdleHandler使用方法詳解

 更新時間:2022年11月07日 10:11:11   作者:xuyisheng  
這篇文章主要為大家介紹了Android?IdleHandler使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

正文

在Android中,Handler是一個使用的非常頻繁的東西,輸入事件機制和系統(tǒng)狀態(tài),都通過Handler來進行流轉,而在Handler中,有一個很少被人提起但是卻很有用的東西,那就是IdleHandler,它的源碼如下。

/**
 * Callback interface for discovering when a thread is going to block
 * waiting for more messages.
 */
public static interface IdleHandler {
    /**
     * Called when the message queue has run out of messages and will now
     * wait for more.  Return true to keep your idle handler active, false
     * to have it removed.  This may be called if there are still messages
     * pending in the queue, but they are all scheduled to be dispatched
     * after the current time.
     */
    boolean queueIdle();
}

從注釋我們就能發(fā)現(xiàn),這是一個IdleHandler的靜態(tài)接口,可以在消息隊列沒有消息時或是隊列中的消息還沒有到執(zhí)行時間時才會執(zhí)行的一個回調(diào)。

這個功能在某些重要但不緊急的場景下就非常有用了,比如我們要在主頁上做一些處理,但是又不想影響原有的初始化邏輯,避免卡頓,那么我們就需要等系統(tǒng)閑下來的時候再來執(zhí)行我們的操作,這個時候,我們就可以通過IdleHandler來進行回調(diào)。

它的使用也非常簡單,代碼示例如下。

Looper.myQueue().addIdleHandler {
    // Do something
    false
}

在Handler的消息循環(huán)中,一旦隊列里面沒有需要處理的消息,該接口就會回調(diào),也就是Handler空閑的時候。

這個接口有返回值,代表是否需要持續(xù)執(zhí)行,如果返回true,那么一旦Handler空閑,就會執(zhí)行IdleHandler中的回調(diào),而如果返回false,那么就只會執(zhí)行一次。

當返回true時,可以通過removeIdleHandler的方式來移除循環(huán)的處理,如果是false,那么在處理完后,它自己會移除。

綜上,IdleHandler的使用主要有下面這些場景。

  • 低優(yōu)先級的任務處理:替換之前為了不在初始化的時候影響性能而使用的Handler.postDelayed方法,通過IdleHandler來自動獲取空閑的時機。
  • Idle時循環(huán)處理任務:通過控制返回值,在系統(tǒng)空閑時,不斷重復某個操作。

但是要注意的是,如果Handler過于繁忙,那么IdleHandler的執(zhí)行時機是有可能被延遲很久的,所以,要注意一些比較重要的處理邏輯的處理時機。

在很多第三方庫里面,都有IdleHandler的使用,例如LeakCanary,它對內(nèi)存的dump分析過程,就是在IdleHandler中處理的,從而避免對主線程的影響。

以上就是Android IdleHandler使用方法詳解的詳細內(nèi)容,更多關于Android IdleHandler的資料請關注腳本之家其它相關文章!

相關文章

  • Android中自定義的dialog中的EditText無法彈出輸入法解決方案

    Android中自定義的dialog中的EditText無法彈出輸入法解決方案

    這篇文章主要介紹了Android中自定義的dialog中的EditText無法彈出輸入法解決方案,需要的朋友可以參考下
    2017-04-04
  • Android中ViewPager實現(xiàn)滑動指示條及與Fragment的配合

    Android中ViewPager實現(xiàn)滑動指示條及與Fragment的配合

    這篇文章主要介紹了Android中ViewPager實現(xiàn)滑動指示條及與Fragment的配合,使用Fragment實現(xiàn)ViewPager的滑動是一種比較推薦的做法,需要的朋友可以參考下
    2016-03-03
  • Android提高之ListView實現(xiàn)自適應表格的方法

    Android提高之ListView實現(xiàn)自適應表格的方法

    這篇文章主要介紹了Android采用ListView實現(xiàn)自適應表格的方法,比較實用的功能,需要的朋友可以參考下
    2014-08-08
  • Android?studio開發(fā)實現(xiàn)計算器功能

    Android?studio開發(fā)實現(xiàn)計算器功能

    這篇文章主要為大家詳細介紹了Android?studio開發(fā)實現(xiàn)計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Android簡單記錄和恢復ListView滾動位置的方法

    Android簡單記錄和恢復ListView滾動位置的方法

    這篇文章主要介紹了Android簡單記錄和恢復ListView滾動位置的方法,涉及Android針對ListView位置屬性的相關操作技巧,需要的朋友可以參考下
    2016-08-08
  • Android狀態(tài)欄的適配匯總

    Android狀態(tài)欄的適配匯總

    這篇文章主要給大家介紹了關于Android狀態(tài)欄適配的相關資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • Android實戰(zhàn)項目之實現(xiàn)一個簡單計算器

    Android實戰(zhàn)項目之實現(xiàn)一個簡單計算器

    隨著移動互聯(lián)網(wǎng)的普及,手機應用程序已經(jīng)成為人們生活中不可或缺的一部分,計算器是一類被廣泛使用的應用程序之一,這篇文章主要給大家介紹了關于Android實戰(zhàn)項目之實現(xiàn)一個簡單計算器的相關資料,需要的朋友可以參考下
    2023-10-10
  • 如何利用matrix實現(xiàn)圖片倒影效果

    如何利用matrix實現(xiàn)圖片倒影效果

    利用matrix可以實現(xiàn)各種圖片的特效,比如圖片的旋轉、縮放、移動,甚至是圖片倒影效果,這篇文章為大家介紹了matrix實現(xiàn)圖片倒影的代碼,感興趣的小伙伴們可以參考一下
    2016-05-05
  • 淺談Glide緩存key的問題

    淺談Glide緩存key的問題

    這篇文章主要介紹了淺談Glide緩存key的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Android實現(xiàn)短視頻畫心效果

    Android實現(xiàn)短視頻畫心效果

    這篇文章主要為大家詳細介紹了Android實現(xiàn)短視頻畫心效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05

最新評論

固安县| 新沂市| 隆德县| 阜城县| 龙南县| 封丘县| 汤原县| 瑞昌市| 长丰县| 杭锦后旗| 五台县| 葵青区| 枣阳市| 吉首市| 东乌珠穆沁旗| 东阳市| 叙永县| 沙雅县| 柳林县| 齐河县| 乌鲁木齐市| 鄂托克旗| 黄大仙区| 永善县| 惠水县| 阿坝| 满城县| 邢台市| 邢台市| 怀安县| 商都县| 石嘴山市| 隆回县| 阳春市| 乌审旗| 竹北市| 霍林郭勒市| 丰都县| 临沧市| 宾川县| 合江县|