Android开发模式之--MVP设计模式一

今天天气挺好的,我也是该对Android的设计模式学习一下。时间比较宝贵 直接进入正题!

MVP(M-Model-模型、V-View-视图、P-Presenter-表示器)

为什么使用MVP开发,MVP的设计模式对Android的应用开发有什么好处:

优点:与普遍的MVC相比MVP的耦合性更加的低,因为MVC当中Activity不仅充当view而且还充当的控制器的角色,这样的话如果该页面的业务逻辑复杂那么这个页面的代码量就比较多对与后期的维护和代码的阅读性就会大大降低。而MVP则是把V(View)和C(Controller)进行彻底的分离,继而Activity所需要做的便是与用户交互或是View得绘制,而逻辑层则是由Presenter负责完成View层与Model层的交互。

下面是结构图自己手画的:



还有一点挺重要的便是Android的oom(由内存泄露造成APP的内存不够用产生的),两个原因产生的一个是Bitmap产生的(Bitmap Leak)这个大家应该是比较了解,另外一个是Activity产生的(Activity Leak),Activity是有生命周期的这点用户随意的进行Activity的切换,当系统的资源不够时,系统并会自行的进行回收处于后台的Activity的资源避免oom错误。在MVC中一个应用的一大堆异步任务和对UI的操作都是在Activity中的,并且当Activity执行onDestroy后,这些异步任务依然保持着对Activity实例的引用(Imageview加载图片),从而导致系统无法回收这个Activity的实例,从而导致Activity Leak,Activity在堆中(Java Heap)占最多内存的,所以如何Activity 产生了Activity Leak就容易导致整个应用的OOM,采用MVP模式,只要在当前的Activity的onDestroy里,分离异步任务对Activity的引用,就能避免 Activity Leak。

注意点:项目开发中选择一种这样的软件设计模式需保持慎重心态,一旦确定使用MVP作为你App的开发模式那你只能一直写下去,如果在使用MVP模式开发过程中发现问题而且坑越来越大,这时你想用MVC等来重新设计的话基本上就等于推倒重来了。

下个星期写一个小demo练练手 还有谢谢各位大神给我的参考!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值