一、概述
随着业务的发展,工程的逐渐增大与开发人员增多,很多工程都走向了模块化、组件化、插件化道路,来方便大家的合作开发与降低业务之间的耦合度。现在就和大家谈谈模块化的交互问题,首先看下模块化的几个优势。
模块化的优势
-
结构清晰:业务独立,代码实现分离,不会搅在一起。
-
便于协作:每个开发同学只要自己负责的模块,没有太多的耦合。
-
便于维护:各模块管理自己的代码、布局、资源,主工程可以方便添加与移除。
特点:高内聚、低耦合。
就我身边的例子来说,很多开发者会存在以下3个问题:
- 对性能优化的流程不是很清晰。 初步定为一个疑似瓶颈点后,就兴高采烈地吭哧吭哧开始干,最终解决的问题其实只是一个浅层次的性能瓶颈,真实的问题的根源并未触达;
- 对性能瓶颈点的分析思路不是很清晰。 UI、网络、内存…这么多的性能指标,我到底该关注什么,应该从哪一块儿开始入手?
- 对性能优化的工具不了解。 遇到问题后,不清楚该用哪个工具,不知道通过工具得到的指标代表什么。
在大厂的面试中,性能优化也是经常会被问到的题目,用来考察是否有实际的线上问题处理经验。比如:
- ui优化除了在布局上处理,还有其他方式没?
- 启动优化时除了在application的oncreate的方法中使用异步线程加载部分资源外,还有什么方式?
- 为什么jvm设置了标记和回收算法,在标记的同时也做回收不行么?为什么?
- 通过jvm的标记回收算法,你能想到
点击领取完整开源项目《安卓学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
这种优化方式能如何使用到自己的项目中,请举例说明
5. 性能优化的本质是什么?请说一下你的理解!
最后
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!
需要资料的朋友可以点击我的GitHub免费领取
费领取](https://bbs.csdn.net/topics/618156601)