首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
关注
综合
后端
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
排行榜
综合
后端
排行榜
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
全部
Android
Kotlin
前端
Flutter
Android Jetpack
性能优化
HarmonyOS
架构
面试
展开
全部
Android
Kotlin
前端
Flutter
Android Jetpack
性能优化
HarmonyOS
架构
面试
源码
后端
源码阅读
Java
APP
Debug
暂无数据
推荐
最新
Android 启动优化方案
一、前言 在开始启动的优化之前,需要明确启动的启动耗时的指标计算规则,在这里我们定义的规则如下: 启动耗时 = HomeActivity.onWindowFoucusChange - Applicat
AOSP15 Input专题InputReader源码分析
InputReader 依然是输入系统(Input System)的核心组件,负责从内核读取原始事件并进行预处理。
Android MediaPlayer 笔记
一、MediaPlayer 架构设计 MediaPlayer 的整体架构采用了 C/S(客户端/服务器)架构,并严格遵循 Android 的层次化设计理念。这种设计将应用层与底层多媒体服务解耦,保证了
Android | Channel 与 Flow的异同点
Channel 和 Flow 都是 Kotlin 协程中处理异步数据流的工具,但它们的设计理念和使用场景有很大不同。 对比 特性 Channel Flow 数据发射 热数据流 冷数据流 多消费者 共享
Android | 文本测量:从 Paint.measureText 到 StaticLayout 的替换
Paint.measureText() 测量时的一个隐藏Bug 有这么一个场景:需要根据文本内容动态调整布局,首先需要计算文本行,开始使用的是 Paint.measureText() 来计算行数,示例
Kotlin | 从SparseArray、ArrayMap的set操作符看类型检查的不同
在Kotlin开发中,在SparseArray和ArrayMap上使用相同的set操作符时,发现类型检查行为还不太一致。 示例 可以看出虽然定义的 ArrayMap<Boolean>,但是依然可以把
Android | 权限申请与前置说明弹窗同时展示的优雅方案
引言:权限申请的痛点 在 Android 应用开发中,权限申请是必不可少的环节。如果直接申请权限弹窗,显得有点突兀,用户不了解为何需要此权限,所以通常在申请权限之前会有个说明弹窗,当用户同意之后再去弹
Kotlin协程并发控制:多线程环境下的顺序执行
问题背景 在多线程编程中,保证并发任务的顺序执行是一个常见且重要的需求。本文将探讨几种在Kotlin协程中实现多线程顺序执行的方案。 考虑这样一个场景:有5个线程同时提交任务,每个任务都需要进行耗时操
Kotlin协程异常捕获陷阱:try-catch捕获异常失败了?
问题 线上有个崩溃日志,定位到的代码大致如下: 经过Tools -> Kotlin -> Show Kotlin Bytecode 反编译查看: 上述代码是CPS变换 + Continuation续体
Android TextView图标对齐优化:使用LayerList精准控制drawable位置
背景 我们经常使用TextView的drawableStart、drawableEnd等属性来为文字添加图标。但有时会遇到这样的问题: 执行结果: 当图标尺寸大于或小于文字高度时,有时会出现图标位置偏
Android 官方正式官宣 AI 支持 AppFunctions ,Android 官方 MCP 和系统级 OpenClaw 雏形
去年五月的的时候,我们通过《Android 16 的 Appfunctions API ,应用级 MCP 支持为 AI 场景打通最后一层壁垒》 聊了 Android 正在规划 Appfunctions
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
Coroutine协程介绍 协程是一种轻量级线程,它通过 挂起suspend 和 恢复resume的机制,在单线程内以同步的代码写法实现异步、非阻塞操作,从而更高效地管理并发任务,简化回调地狱和复杂的
Android | 为什么有了ArrayMap还要再设计SparseArray?
两者区别:Key的类型 ArrayMap:通用Key类型 SparseArray:专用 int Key 类型 为什么需要SparseArray? 1. 避免自动装箱 ArrayMap 的存储方式: S
告别繁琐多端开发:DivKit 带你玩转 Server-Driven UI!
在当今移动互联网时代,应用开发面临着一个普遍的挑战:如何高效地在 iOS、Android 和 Web 等多个平台上保持 UI 的一致性,并快速迭代更新?
Flutter 的真正价值是什么?深度解析再结合鸿蒙,告诉你 Flutter 的真正优势
这会是一篇帮你深入理解 Flutter 真正优势的内容,同时也解答了:为什么 Flutter 在鸿蒙这个全新平台上适配可以完成得那么快。 其实,一直以来 Flutter 的最大的优势都不是它的上层 U
Android 17 有什么需要适配的?2026 Android 禁止侧载又是什么?
Android 官方已经发布了 Android 17 的相关适配文档,其中有不少值得提前关注的内容,另外在去年谷歌也发布过 Android 开发者认证的通告,没认证的应用将无法安装,而时间节点也正好是
Compose 里的媒体查询:Media Query API ? 🖱️👇🕹️
Compose 又逮着 CSS 薅?全新实验性 Media Query API 登场!带你速通底层原理与高频状态性能优化,解锁折叠屏与多设备适配新姿势!快来尝鲜!
Flutter 2026 Roadmap 发布,未来计划是什么?
Flutter 在 2025 基本完成了 Impeller 移动端的过渡,其中 iOS 已经完全取消了 Skia 支持,而 Android API 29 及以上版本也默认使用 Impeller ,很大
Android17大屏适配 没得商量了
打开你的 AndroidManifest.xml,搜一下 screenOrientation。 搜到了对吧?很多 App 都有。写 portrait 锁竖屏,写 landscape 锁横屏,简单粗暴地
Compose 里的 CSS: 新 Styles API ? 🎨
Compose 官方整新活!全新实验性 Styles API。样式与状态彻底解耦,自带声明式动画与双 Node 架构。快来体验类 CSS 的优雅写法,告别臃肿的 Modifier 链。