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

Android?jar庫源碼Bolts原理解析

 更新時(shí)間:2022年06月30日 14:25:33   作者:Supper_litt  
這篇文章主要介紹了Android?jar庫源碼Bolts原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Bolts:
  作用:
    用于鏈?zhǔn)綀?zhí)行跨線程代碼,且傳遞數(shù)據(jù)栗子:

Task.call(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
return true;
}
}, Task.UI_THREAD_EXECUTOR);

Task.callInBackground(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
return false;
}
});

Task.callInBackground(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
return true;
}
}).onSuccess(new Continuation<Boolean, Object>() {
@Override
public Object then(Task<Boolean> task) throws Exception {
if (task.getResult()) {
return null;
} else {
return new Object();
}
}
}, Task.BACKGROUND_EXECUTOR).continueWith(new Continuation<Object, Object>() {
@Override
public Object then(Task<Object> task) throws Exception {
if (task.getResult() == null) {
Toast.makeText(getBaseContext(), "null", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getBaseContext(), "not null", Toast.LENGTH_SHORT).show();
}

return null;
}
}, Task.UI_THREAD_EXECUTOR);

  源碼解讀:
  在內(nèi)部通過維護(hù)多中 ExecutorService 對(duì)象,并且通過串聯(lián)的方式進(jìn)行調(diào)用。

  并且通過維護(hù)內(nèi)部變量在,在指定流程處,就是特定的,值,值通過Task的對(duì)象getResult拿到。

  UIThread

/**
* An {@link java.util.concurrent.Executor} that runs tasks on the UI thread.
*/
private static class UIThreadExecutor implements Executor {
@Override
public void execute(Runnable command) {
new Handler(Looper.getMainLooper()).post(command);
}
}

  BackgroundThread

private BoltsExecutors() {
background = !isAndroidRuntime()
? java.util.concurrent.Executors.newCachedThreadPool()
: AndroidExecutors.newCachedThreadPool();
scheduled = Executors.newSingleThreadScheduledExecutor();
immediate = new ImmediateExecutor();
}

  源碼:https://github.com/BoltsFramework/Bolts-Android
  引入:
implementation 'com.parse.bolts:bolts-android:1.2.0'

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

穆棱市| 太保市| 吴江市| 榕江县| 阳高县| 太仆寺旗| 大埔县| 永平县| 台南市| 泊头市| 辽阳县| 盐池县| 永平县| 池州市| 景谷| 唐河县| 怀宁县| 囊谦县| 阳朔县| 齐齐哈尔市| 嵊州市| 历史| 六安市| 顺义区| 广宁县| 哈密市| 漳浦县| 会理县| 房产| 道真| 无锡市| 鹤壁市| 赤壁市| 腾冲县| 镇沅| 赣榆县| 黑河市| 彭泽县| 孙吴县| 宁德市| 晋江市|