首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
_小马快跑_
掘友等级
Android
|
公众号:代码说
获得徽章 6
动态
文章
专栏
沸点
收藏集
关注
作品
赞
166
文章 166
沸点 0
赞
166
返回
|
搜索文章
最新
热门
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
Coroutine协程介绍 协程是一种轻量级线程,它通过 挂起suspend 和 恢复resume的机制,在单线程内以同步的代码写法实现异步、非阻塞操作,从而更高效地管理并发任务,简化回调地狱和复杂的
Android TextView图标对齐优化:使用LayerList精准控制drawable位置
背景 我们经常使用TextView的drawableStart、drawableEnd等属性来为文字添加图标。但有时会遇到这样的问题: 执行结果: 当图标尺寸大于或小于文字高度时,有时会出现图标位置偏
Kotlin | 从SparseArray、ArrayMap的set操作符看类型检查的不同
在Kotlin开发中,在SparseArray和ArrayMap上使用相同的set操作符时,发现类型检查行为还不太一致。 示例 可以看出虽然定义的 ArrayMap<Boolean>,但是依然可以把
Android | 为什么有了ArrayMap还要再设计SparseArray?
两者区别:Key的类型 ArrayMap:通用Key类型 SparseArray:专用 int Key 类型 为什么需要SparseArray? 1. 避免自动装箱 ArrayMap 的存储方式: S
Java 的 8 大基本数据类型:为何是不可或缺的设计?
8种基本数据类型 Java 有 8种基本数据类型,而它们都不是对象: 类型 大小 取值范围 默认值 byte 8位 -128 ~ 127 0 short 16位 -32,768 ~ 32,767 0
Kotlin协程并发控制:多线程环境下的顺序执行
问题背景 在多线程编程中,保证并发任务的顺序执行是一个常见且重要的需求。本文将探讨几种在Kotlin协程中实现多线程顺序执行的方案。 考虑这样一个场景:有5个线程同时提交任务,每个任务都需要进行耗时操
Android | Channel 与 Flow的异同点
Channel 和 Flow 都是 Kotlin 协程中处理异步数据流的工具,但它们的设计理念和使用场景有很大不同。 对比 特性 Channel Flow 数据发射 热数据流 冷数据流 多消费者 共享
Kotlin协程异常捕获陷阱:try-catch捕获异常失败了?
问题 线上有个崩溃日志,定位到的代码大致如下: 经过Tools -> Kotlin -> Show Kotlin Bytecode 反编译查看: 上述代码是CPS变换 + Continuation续体
Android | 权限申请与前置说明弹窗同时展示的优雅方案
引言:权限申请的痛点 在 Android 应用开发中,权限申请是必不可少的环节。如果直接申请权限弹窗,显得有点突兀,用户不了解为何需要此权限,所以通常在申请权限之前会有个说明弹窗,当用户同意之后再去弹
Android | 文本测量:从 Paint.measureText 到 StaticLayout 的替换
Paint.measureText() 测量时的一个隐藏Bug 有这么一个场景:需要根据文本内容动态调整布局,首先需要计算文本行,开始使用的是 Paint.measureText() 来计算行数,示例
下一页
个人成就
优秀创作者
文章被点赞
1,601
文章被阅读
279,256
掘力值
8,582
关注了
37
关注者
378
收藏集
1
关注标签
18
加入于
2017-12-15