目录一、select是什么二、select和Channel一、select是什么select——>用于选择更快的结果。基于场景理解比如客户端要查询一个商品的详情。两个服务:缓存服务,速度快但信息可能是旧的;网络服务,速度慢但信息一定是最新的。如何实现上述逻辑: runBlocking {
suspend fun getCacheInfo(pr
......
341
0
0
2023-06-23
目录一、cancel()无效1.cancel()不被响应2.结构被破坏3.未正确处理 CancellationException二、try-catch不起作用三、SupervisorJob四、CoroutineExceptionHandler一、cancel()无效当协程任务被取消的时候,它的内部是会产生一个 CancellationException 的。
......
351
0
0
2023-06-23
目录uni-simple-router一、快速上手扩一:webpack插件之DefinePlugin扩二:uni-read-pages 如何获取pages.json中的路由二、H5模式2.1 路由配置2.2 完全使用vue-router开发 (H5端)2.3 H5 路由传参2.4 H5端路由捕获所有路由或404路由2.5 路由懒加载三、小程序模式四、路由跳转
......
359
0
0
2023-06-22
目录前言通讯原理JavaScriptCore源码解析代码结构初始化WebViewJavascriptBridge 对象native向JS发送消息JS侧native侧JS向native发送消息native侧JS侧总结前言H5页面具有跨平台、开发容易、上线不需要跟随App的版本等优点,但H5页面也有体验不如native好、没有native稳定等问题。所以目前大部
......
418
0
0
2023-06-22
目录1.缓存的使用流程源码分析-滑动入口2.RecyclerView的缓存流程3.RecyclerView缓存总结RecyclerView是一个非常重要的控件,是任何一个研发都需要掌握的,这个控件的设计也是非常优秀的,值得我们去学习。RecyclerView的核心就是缓存机制,RecyclerView为了提升效率使用了4级缓存:mChangeScrap与 m
......
359
0
0
2023-06-22
目录一、先上效果图二、ChipGroup和Chip三、在ChipGroup中动态添加Chip四、找到每个Chip位于的行数五、实现思路六、需要注意的问题1、Chip的复用问题2、Chip的ID设置3、点击同一个Chip返回的ID为-1的问题一、先上效果图借用某东App的效果,如下。折叠时的效果:展开时的效果:二、ChipGroup和ChipchipGroup
......
393
0
0
2023-06-21
目录一、CPS转换1.CPS 参数变化2.CPS 返回值变化二、挂起函数的反编译三、Continuation学习了极客时间课程,记录下学习输出。一、CPS转换挂起函数,比普通的函数多了 suspend 关键字。通过suspend 关键字,Kotlin 编译器就会特殊对待这个函数,将其转换成一个带有 Callback 的函数,这里的 Callback 就是 C
......
324
0
0
2023-06-21
目录1.MediaCodec 是什么2.创建MediaCodec的方式2.1按照格式创建2.2按照名字创建3.MediaCode硬件解码并进行播放实例4.MediaCodec 异步解码进行播放1.MediaCodec 是什么MediaCodec类可以访问底层媒体编解码器框架(StageFright 或 OpenMAX),即编解码组件。是Android 的低层
......
332
0
0
2023-06-21
目录Dispatchers协程调度器Dispatchers.DefaultDispatchers.IODispatchers.MainDispatchers.Unconfined协程调度器的实现CoroutineScheduler总结Dispatchers协程调度器CoroutineDispatcher,具有用于调度任务的底层执行器。ExecutorCoro
......
335
0
0
2023-06-21
目录1.使用Gilde显示一张图片2.Glide with操作源码解析3.Glide 的load操作4.Glide的into流程解析5.Glide1.使用Gilde显示一张图片Glide.with(this).
load("https://cn.bing.com/sa/simg/hpb/xxx.jpg")
.into(im
......
312
0
0
2023-06-21
目录1.OKHttp简单使用2.OkHttp分发器源码解析2.1.同步请求方式2.2.异步的方式进行请求2.3.分发器线程池3.OkHttp的拦截器3.1.RetryAndFollowUpInterceptor 重试和重定向拦截器3.2.桥接拦截器BridgeInterceptor3.3.缓存拦截器CacheInterceptor3.4.连接拦截器Conne
......
356
0
0
2023-06-21
目录介绍项目结构前端代码activity_main.xmlitem_spin_guns.xml后端代码GunBean.javaGenericAdapter.javaMainActivity.java介绍Spinner是一种点一下后供用户可以上下选择用的组件。我们直接来看一个例子说明这个组件是做什么用的。我们放大点看我们这次的课程目标就是实现这样的一种点一下然
......
328
0
0
2023-06-20
目录前言可组合函数显示简单文本将样式应用于文本使用 TextField 进行输入在 Android Studio 中预览预览参数ColumnScrollable ColumnLazy ColumnBoxButtonCardClickableImageAlert DialogMaterial AppBarMaterial BottomNavigationMat
......
381
0
0
2023-06-20
目录前言什么是 DSL?您使用任何 DSL 吗?为什么我们使用 DSL?我们如何编写自己的 DSL?中缀调用现在,让我们讨论 Android 中 DSL 的用例和示例。前言在这篇文章中,我们将学习如何在您的 Android 项目中编写 Kotlin DSL。这个文章会很长,所以花点时间,让我们一起来写你的 DSL。我们将讨论以下主题,什么是简单英语中的 DS
......
400
0
0
2023-06-20
目录前言NotificationListenerService方法集NotificationListenerService接收流程通知消息发送流程NotificationListenerService注册总结前言在上一篇通知服务NotificationListenerService使用方法 中,我们已经介绍了如何使用NotificationListenerS
......
339
0
0
2023-06-19