必看11

1、MVP

把视图、业务逻辑、数据分层;

Presenter 作为中间层主动调度 View 和 Model,View 和 Model 不直接通信。

缺点:接口多、Presenter 容易臃肿、需手动解绑 View,易内存泄漏。

2、MVVM

在 MVP 基础升级,去掉 Presenter ,改用 ViewModel 管理数据和业务;

基于观察者 / 数据驱动,View 订阅数据自动刷新 UI,不用大量接口回调;

ViewModel 生命周期独立,屏幕旋转保数据、解耦更好、不易内存泄漏。

3、MVI

MVVM 规范化加强版 ,采用单向数据流

用户行为封装为 Intent → 业务处理 → 统一更新 State 页面状态 → View 订阅状态渲染 UI。

特点:状态唯一、单向流转、逻辑清晰、便于维护和调试,适合复杂业务页面。

面试一句话完整版

MVP 靠 Presenter 中间人调度,接口多耦合高;

MVVM 用 ViewModel + 数据驱动,解耦强、生命周期友好;

MVI 是 MVVM 规范化,统一 Intent 事件和 State 状态,单向数据流,架构更标准好维护。

相关推荐
Coffeeee2 小时前
如何使用Glide和Coil加载WebP动图
android·kotlin·glide
Kapaseker3 小时前
5 分钟搞懂 Kotlin DSL
android·kotlin
恋猫de小郭3 小时前
AI Agent 开发究竟是啥?如何用 AI 开发 Agent ?深入浅出给你一套概念
android·前端·ai编程
黄林晴3 小时前
Android 17 正式发布!target 37 一大批旧代码直接不能用了
android
Carson带你学Android4 小时前
Android 17 正式发布:AI 终于成了系统能力
android·前端·ai编程
三少爷的鞋4 小时前
当 UseCase 开始长期监听,它可能已经不是 UseCase 了
android
恋猫de小郭17 小时前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter
恋猫de小郭17 小时前
解读 Android 17 全新内存限制,有没有“豁免”后门?
android·前端·flutter
贾艺驰20 小时前
实战Android Framework: 新增一个系统权限
android
alexhilton1 天前
使用Android Archive进行打包
android·kotlin·android jetpack