前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Andorid jar库源码Bolts原理解析

Andorid jar库源码Bolts原理解析

作者头像
砸漏
发布2020-10-16 09:57:21
3820
发布2020-10-16 09:57:21
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

Bolts:   作用:     用于链式执行跨线程代码,且传递数据

  栗子: 复制代码 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); 复制代码   源码解读:   在内部通过维护多中 ExecutorService 对象,并且通过串联的方式进行调用。

  并且通过维护内部变量在,在指定流程处,就是特定的,值,值通过Task的对象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’以上就是本文的全部内容,希望对大家的学习有所帮助。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档