为什么现在最新的安卓app,搜不到ViewBinding 关键词了?

张开发
2026/4/7 21:55:26 15 分钟阅读

分享文章

为什么现在最新的安卓app,搜不到ViewBinding 关键词了?
你的观察力非常敏锐如果你在看最近一两年的全新 Android 项目或前沿教程确实越来越少看到 ViewBinding 这个词了。这是因为 Android 的 UI 开发刚刚经历了一场历史性的跨时代大革命根本原因只有四个字Jetpack Compose。下面我为你揭秘为什么 ViewBinding 正在逐渐“消失”1. 彻底消灭 XML 的大杀器Jetpack Compose在过去的十几年里Android 写界面的标准流程是写 XML 布局文件 - 在 Java/Kotlin 中获取控件通过 findViewById 或 ViewBinding- 修改控件属性如 setText。但是Google 推出了下一代 UI 框架Jetpack Compose完全用 Kotlin 编写。它的核心思想是**“声明式 UI”**这意味着再也没有 XML 布局文件了整个界面全部用 Kotlin 代码直接画出来。既然没有了 XML自然就不需要把 XML 和代码“绑定”在一起了所以 ViewBinding 就彻底失去了存在的意义。2. 代码长什么样为什么不需要绑定了在传统的 ViewBinding 模式下命令式你需要拿到控件的引用去“命令”它更新// 旧时代ViewBinding 模式 binding.textView.text 新名字而在 Jetpack Compose 时代声明式你根本拿不到任何 UI 控件的引用。UI 只是数据的映射数据变了UI 自动刷新// 新时代Jetpack Compose 模式 (纯 Kotlin) Composable fun UserProfile(userName: String) { // 直接描述 UI 应该长什么样不需要绑定不需要 setText Text(text userName, fontSize 24.sp) }3. 最新的“现代 Android 黄金架构”已经大换血还记得我在上一个回答总结的黄金架构吗随着 Compose 的普及最新的技术栈已经悄然升级这也是为什么你搜不到 ViewBinding甚至 LiveData 也渐渐少了的原因领域过去传统 XML 时代现在最新的Compose 时代界面编写XML 布局文件Jetpack Compose(纯 Kotlin 函数)控件获取ViewBinding / findViewById不需要了(UI 根据状态自动重绘)UI 响应数据LiveDataStateFlow(Kotlin 协程专属的数据流)业务逻辑ViewModelViewModel (屹立不倒依然是核心)异步任务线程 / RxJavaKotlin 协程4. 那么ViewBinding 已经被淘汰了吗并没有它只是退居二线了。对于全新的现代项目如果是最近刚立项的纯 Kotlin 项目大家基本都会首选 Jetpack Compose所以你看不到 ViewBinding。对于老项目或者还在用 Java 开发的项目Jetpack Compose完全不支持 Java。所以如果你还在用 Java 开发或者公司有一个运行了五六年的庞大旧项目里面全是 XML那么ViewBinding 依然是处理 XML 布局的最优解、天花板技术。总结来说你搜不到 ViewBinding是因为最新潮的技术圈已经全面拥抱了没有 XML 的Jetpack Compose。但作为一名正在使用 Java 探索 Android 的开发者你只要还在写 XML 布局ViewBinding 就是你目前能用到的最好、最安全的技术完全可以放心大胆地用

更多文章