android jetpack

alexhilton2 天前
android·kotlin·android jetpack
MVI模式的完整历史、误解和现代Android范式本文译自「Yes, That’s MVI: The Pattern’s Full History, Misconceptions, and Modern Android Form」,原文链接proandroiddev.com/yes-that-is…,由Eury Pérez Beltré发布于2025年5月29日。
我命由我123452 天前
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
集成 mupdf-android 的示例做为模块使用报错,程序包android.support.v4.view不存在
我命由我123455 天前
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称这个错误表示在 Windows 系统的命令行中执行了包含 grep 的命令,而 grep 是 Linux / macOS 的命令行指令,Windows 默认不支持
MiyamuraMiyako5 天前
android·android jetpack
Compose:从自动滚动到双锚点 LazyLayout在 ChatGPT 这类对话页里,一次回答通常不是作为完整文本一次性插入列表,而是同一条回答内容持续追加、同一个列表项不断变高。
杉氧8 天前
android·架构·android jetpack
Compose 渲染内核 (3):Slot Table 与 Gap Buffer —— 极速重组的数学艺术Compose 为什么能支撑千万级的 UI 节点,并且在状态变动时实现极其精准的局部刷新?秘密全在底层的存储结构中。
alexhilton9 天前
android·kotlin·android jetpack
Kotlin DSL深度解析:从Gradle脚本到构建你自己的DSL本文译自「Kotlin DSL Deep Dive: From Gradle Scripts to Building Your Own」,原文链接proandroiddev.com/kotlin-dsl-…,由Ioannis Anifantakis发布于2026年7月2日。
杉氧11 天前
android·架构·android jetpack
Framework 补完计划 (2):BufferQueue 与 SurfaceFlinger —— 像素的跨进程“接力赛”上一篇我们讲了 Choreographer 决定了“什么时候画”。今天我们聊聊“画在哪”以及“画完怎么传”。
我命由我1234512 天前
java·java-ee·android studio·android jetpack·android-studio·android runtime
Android 开发问题:ClickableSpan 的点击事件没有生效
我命由我1234512 天前
android·xml·android studio·android jetpack·android-studio·android runtime
Android 构建项目问题:XML 片段出错,com.ctc.wstx.exc.WstxUnexpectedCharException:appxmlns 是非法的 XML 属性名,XML 属性名不能以冒号 : 开头,除非它是命名空间前缀,例如,xmlns:app
杉氧14 天前
android·架构·android jetpack
跨平台资源管理:一套代码如何搞定 Android、iOS 和 Web 的图片与多语言?在 Kotlin Multiplatform (KMP) 开发中,最让 Android 开发感到“手痒”的操作莫过于想随手写下一个 R.drawable.logo。但现实很残酷:在 commonMain 模块中,R 文件是不存在的。
杉氧15 天前
android·架构·android jetpack
兼容与共生:如何在旧项目中优雅地引入 Compose?作为一名 Android 老兵,我们面临的最现实问题往往不是“如何写一个全新的 Compose 项目”,而是“如何在拥有成百上千个 Activity/Fragment 的旧项目中引入 Compose”。
杉氧15 天前
android·架构·android jetpack
性能优化实战:如何定位冗余重组并榨干 Compose 的每一帧性能?作为一名 Android 老兵,你可能还记得当年为了减少 View 绘制开销,拼命优化 onDraw、减少 invalidate 调用的日子。
alexhilton16 天前
android·kotlin·android jetpack
将应用迁移到Navigation 3:痛点、加班和紧急修复本文译自「Migrating App to Navigation 3: Pain, Overtimes, and Hotfixes」,原文链接medium.com/proandroidd…,由Tetiana Synytsyna发布于2026年6月30日。
杉氧16 天前
android·架构·android jetpack
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?在传统的 Android 开发中,页面跳转离不开 Intent、FragmentManager 或者是 Navigation XML。作为资深Android开发,你一定经历过处理 onFragmentResult 的痛苦,或是被深层嵌套的 Fragment 堆栈折磨得没脾气。
黄林晴16 天前
android·android jetpack
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线7 月 1 日,androidx.room3:room3-*:3.0.0 正式发布。这次不是 Room 2.x 的小版本升级。Room 3.0 换到了新的 androidx.room3 包和 Maven group,核心方向是 Kotlin Multiplatform,同时把 SupportSQLite、KAPT、Java 代码生成这些旧入口从主路径里移了出去。
杉氧17 天前
android·架构·android jetpack
Compose 时代的 MVI 架构:如何用单向数据流驱动复杂 UI?作为一名 Android 老兵,你一定对 MVVM 烂熟于心。但在 Compose 这种声明式 UI 环境下,随着业务逻辑的复杂度增加,MVVM 往往会暴露出一些痛点:多个 LiveData/Flow 散落在 ViewModel 中,UI 状态难以追踪,甚至出现“状态碎片化”。
杉氧17 天前
android·架构·android jetpack
Modifier 的艺术:为什么链式调用的顺序决定了UI 的生命周期?在 Compose 的世界里,Modifier 绝对是出镜率最高的词。无论是改颜色、加间距、处理点击,还是做高级动效,都离不开它。
李斯维17 天前
android·android studio·android jetpack
腾讯 XLog 日志框架 Android 端接入对于大多数应用来说,线上日志确实没有太大必要,只要接入了友盟或是 Bugly,其提供的信息也足以解决出现的异常信息。但是问题就在于不是所有的问题都会导致崩溃,特别是强业务的应用,一个金额显示的不对是不会造成应用崩溃,但肯定会造成用户崩溃。这种问题,你无法通过应用统计平台查找信息来解决,只能通过线上日志框架来打印相关的业务流程看问题出在哪里。
杉氧18 天前
android·架构·android jetpack
副作用 (Side Effects) 全攻略:如何像大师一样掌控 Composable 的生命周期?在前面的文章中,我们反复强调:Composable 函数应该是纯净的(Pure)。 它的职责只是接收状态并渲染 UI。
杉氧19 天前
android·架构·android jetpack
深入理解 Compose 重组机制:快照系统如何驱动 UI 精准刷新?在第一篇文章中,我们聊了 Compose 的“去 View 化”架构。很多开发者在上手 Compose 后,最直观的感受就是:代码变少了,但“魔法”变多了。