原文链接:https://blog.csdn.net/xiangzhihong8/java/article/details/96280254

8、MVP模式架构

8.1、MVP模式

MVP架构由MVC倒退而来。在MVP中,M代表Model,V代表View,P代表Presenter。

模型层(Model):次要是获取数据性能,业务逻辑和实体模型。

视图层(View):对应于Activity或Fragment,负责视图的局部展现和业务逻辑用户交互

管制层(Presenter):负责实现View层与Model层间的交互,通过P层来获取M层中数据后返回给V层,使得V层与M层间没有耦合。

在MVP中 ,Presenter层齐全将View层和Model层进行了拆散,把次要程序逻辑放在Presenter层实现,Presenter与具体的View层(Activity)是没有间接的关联,是通过定义接口来进行交互的,从而使得当View层(Activity)产生扭转时,Persenter仍然能够放弃不变。View层接口类只应该只有set/get办法,及一些界面显示内容和用户输出,除此之外不应该有多余的内容。绝不允许View层间接拜访Model层,这是与MVC最大区别之处,也是MVP外围长处。

9、虚拟机

9.1、Android Dalvik虚拟机和ART虚拟机比照

Dalvik

Android4.4及以前应用的都是Dalvik虚拟机,咱们晓得Apk在打包的过程中会先将java等源码通过javac编译成.class文件,然而咱们的Dalvik虚拟机只会执行.dex文件,这个时候dx会将.class文件转换成Dalvik虚拟机执行的.dex文件。Dalvik虚拟机在启动的时候会先将.dex文件转换成疾速运行的机器码,又因为65535这个问题,导致咱们在利用冷启动的时候有一个合包的过程,最初导致的一个后果就是咱们的app启动慢,这就是Dalvik虚拟机的JIT个性(Just In Time)。

ART

ART虚拟机是在Android5.0才开始应用的Android虚拟机,ART虚拟机必须要兼容Dalvik虚拟机的个性,然而ART有一个很好的个性AOT(ahead of time),这个个性就是咱们在装置APK的时候就将dex间接解决成可间接供ART虚拟机应用的机器码,ART虚拟机将.dex文件转换成可间接运行的.oat文件,ART虚拟机天生反对多dex,所以也不会有一个合包的过程,所以ART虚构机会很大的晋升APP冷启动速度。

ART长处:

放慢APP冷启动速度

晋升GC速度

提供性能全面的Debug个性

ART毛病:

APP装置速度慢,因为在APK装置的时候要生成可运行.oat文件

APK占用空间大,因为在APK装置的时候要生成可运行.oat文件

arm处理器

对于ART更具体的介绍,能够参考Android ART详解

总结

相熟Android性能剖析工具、UI卡顿、APP启动、包瘦身和内存性能优化

相熟Android APP架构设计,模块化、组件化、插件化开发

熟练掌握Java、设计模式、网络、多线程技术

点击下方链接收费获取Android进阶材料:

https://shimo.im/docs/tXXKHgdjPYj6WT8d/