乐趣区

关于android:史上最全的Android面试题集锦七

原文链接: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/

退出移动版