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

相关推荐
Android-Flutter1 小时前
android 性能优化 详解
android·kotlin
vortex51 小时前
composer.json 可写场景下的利用手段
android·json·composer
studyForMokey1 小时前
【Android 内存管理】JVM 内存模型与 GC 原理
android·jvm
夜雪一千13 小时前
MySQL 全局锁是什么?原理、风险、备份踩坑完整实战
android·mysql·adb
又见情义19 小时前
RK3568 Android 13 驱动适配实战:从零开始让SDK在自己的板子上跑起来
android·arm开发·驱动开发
霸道流氓气质20 小时前
MySQL 大表 DDL 变更 — 原理、方案与实践
android·数据库·mysql
明雨-开发21 小时前
Android打包时候Execution failed for task ‘:launcher:lintVitalAnalyzeRelease‘.
android
游戏开发爱好者821 小时前
开心上架是什么,一站式 Apple 开发者工作台总览
android·小程序·https·uni-app·iphone·webview
Android-Flutter21 小时前
android kotlin launch 源码分析
android·kotlin