必看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 状态,单向数据流,架构更标准好维护。

相关推荐
-SOLO-5 分钟前
解决VMware 显示比例被重置的问题
android
alexhilton1 小时前
探究Android Views、Flutter和Compose如何渲染你的UI
android·kotlin·android jetpack
Lesile4 小时前
Android:Hilt框架入门 · 在ViewUI和ComposeUI下的应用
android·android jetpack
用户423816229074 小时前
Android 16 WebView 页面顶部挖孔/通知栏不能显示UI问题排查
android
weixin_727535625 小时前
Loop 已死,Graph 新生:AI 工作流的范式革命
android·人工智能·rxjava
严同学正在努力5 小时前
从备份到恢复:我用 30 分钟恢复了误删的核心业务表
android·java·数据库·ai
梦想三三6 小时前
LangChain Output Parser 实战:从字符串到结构化数据的完整指南
android·服务器·langchain·github·uv
爱笑鱼8 小时前
Binder(八):远端进程死了,BinderProxy 为什么还能收到通知?
android
Android-Flutter8 小时前
Kotlin 冷流与热流详解
android·kotlin
zhangphil8 小时前
Android ContentProvider/ContentResolver读图片,跨进程 IPC慢
android