LiteAsync

LiteAsync是Github上一款開源的關於異步並發、任務調度的框架。

LiteAsync是一個專注於異步與並發的簡單類庫,它提供一個基於andorid系統的改善、增強的AsyncTask,使得它具有真正並發的能力,且能再子執行緒執行,同時會均衡手機能力來控制執行緒開銷。Crossbow還提供了簡單、安全和快取等異步任務類用於快速開發,更方便的是它有一個任務執行器實現了順序、關卡、延時、定時任務的執行與調度。

基本介紹

  • 基於系統:Android
  • 框架類型:異步並發
使用場景,AsyncTask組件,TaskExecutor組件,

使用場景

  1. 兩個原子任務,任務2需要等待任務1完成了才能進行。
  2. 任務3需要等任務1和任務2都完成了才能進行,但是1和2可以並發以節省時間。看起來要寫很多代碼來調度任務。
  3. 伺服器接口壓力過大,要被你的調用頻度調戲到down機啦!
  4. 系統的異步任務類AsyncTask要用的泛型太多太重啦,並且只能在主執行緒使用,不爽!
  5. 要么大量並發使手機cpu吃緊卡到爆,要么不能真正(Android系統自帶AsyncTask)並發執行。不爽!
OK,如果你都遇到過,恭喜你,說明你的套用對開發者要求還是挺碉的。 那么是不是需要很多的代碼才能完成這種和諧並發和任務調度呢?nooooo!有了Crossbow,我們只要一行代碼。 比方說場景2, Task3要等待Task1,Task2執行完才能執行,我們使用LiteAsync可以這樣做:
 TaskExecutor.newCyclicBarrierExecutor().put(task1).put(task2).start(task3); 
這么一行代碼,低調,內斂,而又充滿能量,再多的任務可以執行,Task1,Task2並發執行,且隨時可取消執行,結束(或取消)時會自動調度Task3執行。

AsyncTask組件

  • AsyncTask(增強版):真正可並發,均衡手機能力與開銷,針對短時間大量並發有調控策略,可在子執行緒執行。
  • SimpleTask:具備Ameliorative AsyncTask所有特性,簡化了使用方法,僅設定一個泛型(結果類)即可。
  • SafeTask:具備Ameliorative AsyncTask所有特性,但是各個環節是安全的,能捕獲任何異常,並傳遞給開發者。
  • CachedTask:具備Ameliorative AsyncTask所有特性,增加了對結果的快取,可設定一個逾時時間,只有在逾時後才去異步執行,否則取快取結果返回。

TaskExecutor組件

TaskExecutor是一個內置的任務調度器。
  • 順序執行器,使一系列異步任務按序執行,非並發
  • 關卡執行器,使一系列異步任務並發執行,最後會調度執行一個終點任務
  • 延遲執行器,使一個異步任務延遲開發者指定的時間後執行
  • 心跳執行器,是一個異步任務按執行的間隔持續執行

相關詞條

熱門詞條

聯絡我們