首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
关注
综合
后端
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
排行榜
综合
后端
排行榜
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
全部
Android
Kotlin
前端
Java
Android Jetpack
Flutter
架构
面试
性能优化
展开
全部
Android
Kotlin
前端
Java
Android Jetpack
Flutter
架构
面试
性能优化
APP
AI编程
HarmonyOS
React Native
gradle
iOS
暂无数据
推荐
最新
Compose 渲染内核 (3):Slot Table 与 Gap Buffer —— 极速重组的数学艺术
前言 Compose 为什么能支撑千万级的 UI 节点,并且在状态变动时实现极其精准的局部刷新?秘密全在底层的存储结构中。 今天我们深入 Compose Runtime 的核心数据结构 —— Slot
Android ViewModel 接收 Intent 参数
通常我们会将页面中的参数通过 ViewModel 来管理,上一页面 Intent 传过来的数据,应直接存入 ViewModel 中,防止 Activity 和 ViewModel 各存一份。 方法一:
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?
前言 在传统的 Android 开发中,页面跳转离不开 Intent、FragmentManager 或者是 Navigation XML。作为资深Android开发,你一定经历过处理 onFragm
跨平台资源管理:一套代码如何搞定 Android、iOS 和 Web 的图片与多语言?
前言 在 Kotlin Multiplatform (KMP) 开发中,最让 Android 开发感到“手痒”的操作莫过于想随手写下一个 R.drawable.logo。但现实很残酷:在 common
从历史的角度看 Android 软件架构
本文回顾了Android开发架构的演进历程,从早期的无架构状态到MVC、MVP、MVVM等架构模式。
副作用 (Side Effects) 全攻略:如何像大师一样掌控 Composable 的生命周期?
前言 在前面的文章中,我们反复强调:Composable 函数应该是纯净的(Pure)。 它的职责只是接收状态并渲染 UI。 但在真实的世界里,我们需要发起网络请求、需要弹一个 Toast、需要监听传
性能优化实战:如何定位冗余重组并榨干 Compose 的每一帧性能?
前言 作为一名 Android 老兵,你可能还记得当年为了减少 View 绘制开销,拼命优化 onDraw、减少 invalidate 调用的日子。 到了 Compose 时代,虽然我们不再直接操作
兼容与共生:如何在旧项目中优雅地引入 Compose?
前言 作为一名 Android 老兵,我们面临的最现实问题往往不是“如何写一个全新的 Compose 项目”,而是“如何在拥有成百上千个 Activity/Fragment 的旧项目中引入 Compo
深度解析:Jetpack Compose 核心架构与底层原理 —— 十年安卓老兵的“破茧重生”
前言 作为一名有着十年 Android 原生开发经验的开发者,我们已经习惯了 XML 布局、View.java 的漫长继承链以及 findViewById 的肌肉记忆。然而,随着 Jetpack Co
Compose 时代的 MVI 架构:如何用单向数据流驱动复杂 UI?
前言 作为一名 Android 老兵,你一定对 MVVM 烂熟于心。但在 Compose 这种声明式 UI 环境下,随着业务逻辑的复杂度增加,MVVM 往往会暴露出一些痛点:多个 LiveData/F
深入理解 Compose 重组机制:快照系统如何驱动 UI 精准刷新?
前言 在第一篇文章中,我们聊了 Compose 的“去 View 化”架构。很多开发者在上手 Compose 后,最直观的感受就是:代码变少了,但“魔法”变多了。 最典型的例子就是:为什么我改了一个变
用 Jetpack Compose + MVI 开发了一个 Authenticator 双因素认证应用
一、背景:为什么又要造一个 Authenticator? 事情的起因很日常。 那天早上到公司,内部系统突然弹出了二次验证。我掏出手机,下意识去搜 Google Authenticator——结果下载完
Modifier 的艺术:为什么链式调用的顺序决定了UI 的生命周期?
前言 在 Compose 的世界里,Modifier 绝对是出镜率最高的词。无论是改颜色、加间距、处理点击,还是做高级动效,都离不开它。 作为十年老兵,我们初看 Modifier 时可能会觉得它就是
Framework 补完计划 (2):BufferQueue 与 SurfaceFlinger —— 像素的跨进程“接力赛”
前言 上一篇我们讲了 Choreographer 决定了“什么时候画”。今天我们聊聊“画在哪”以及“画完怎么传”。 当 Compose 的绘图指令执行完毕,像素已经生成。但这些数据在应用进程里,显示器
HarmonyOS5 源码分析 —— ‘状态管理’如何管理的(1)?
## 一、前言 大家都是开发,有时候写着写着 ArkUI 代码,突然就会冒出个问号: > “为啥我改个状态变量,UI 就自动刷新了?” > “@Local 到底背后做了啥?能监听到那么精准吗
100% Kotlin:基于 KMP + Compose Multiplatform 的全栈架构实战(Clean Architecture + MVI)
随着 Kotlin Multiplatform (KMP) 进入稳定期,Compose Multiplatform 的跨端能力也日益成熟。我们是否真的能用一套代码,搞定 Android、iOS 甚至?
HarmonyOS5 凭什么学鸿蒙—— GetContext
## 一、前言 上篇文章在结尾留下两个问题 - getContext(this) 和 getContext() 有什么区别? - 为什么弃用直接 getContext,转而使用 UIConte
HarmonyOS5 源码分析 —— 生命周期与状态管理(2)
## 一、前言 在前文中,我们提到过 **“状态管理”**。 但状态管理并不仅仅是 *“数据变化 → UI 更新”* 这么简单,它还与组件的 **创建、复用、销毁** 等生命周期过程密切相关。
能告诉我:你为什么用 MVI 吗?反正我不理解!
我对 MVI 一直不理解,所以和 Claude Code 有了以下对话,不纠结是黑是白,只加深两种模式之间的理解。 第一轮:MVVM 和 MVI 有什么本质的区别 问
HarmonyOS5 一顿饭时间 —— LRU、磁盘缓存与内存优化的结合
## 一、前言 HarmonyOS 的 **Image** 组件,相信大家平时用得还是挺开心的:一个 `url` 往里一塞,咔咔就能显示,啥也不用管,直接起飞。 但是,用着用着你可能会发现一些“