赞
踩
一.组件化/模块化及插件化概念:
多module划分业务和基础功能,这概念作为组件化的基础。
组件化开发的好处:
模块化开发的好处:
组件化和模块化的本质思想是一致的,都是为了代码重用和业务解耦。区别在于模块化是业务导向,组件化湿功能导向。
项目体积越来越大后,必定会有超过方法数65535的时候,要么选择MultiDex的方式分包解决,要么使用插件化的方法是完成项目。
组件化和模块化的划分将更好地为项目插件化开路。插件化的模块发布和正常发布有着非常大的差异,已经脱离了组件化和模块化的构建机制,插件化拥有更高效的业务解耦。
二.依赖:
Android studio独有设计——module依赖,包括对第三方库的依赖,它包含对其他Module的依赖。通过依赖我们可以访问第三方和其他被依赖Module的代码和资源。
全部工具作用的配置最后还是会转化为代码的形式存在于我们配置的build.gradle中。
- dependencies {
- implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation 'com.android.support:appcompat-v7:28.0.0'
- implementation 'com.android.support.constraint:constraint-layout:1.1.3'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.2'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
- }
一般情况下,Android studio定义使用dependencies包含全部资源引入,使用compile提示来引入库:
三.聚合和解耦:
聚合和解耦是项目架构的基础,架构的实质可以理解为人与人之间关系的连接。
四.AndroidManifest:
1.AndroidManifest其实就是Android项目的声明配置文件。
每个module都有一份配合的AndroidManifest文件来记载其信息,最终生成一个app的时候,其只有一份AndroidManifest来指导app应该如何配置。多个AndroidManifest记录独立配置信息,最终合成一个AndroidManifest。
最终合成一个AndroidManifest的地址,地址为:app/build/intermediates/manifests/full/debug/AndroidManifest.xml,intermediates文件夹包含的是app生成的“中间件”。
2.AndroidManifest属性汇总:
搭建工程的时候,首先得有创始人或架构师(Application module),人后招员工(lib module),员工努力工作(coding),完成自己的任务(生成aar),最后架构师将项目汇总起来并完成项目的发布(生成app)。
3.AndroidManifest属性变更:
替换原则:
如果功能module有Application,主module没有自定义Application,这时会自然引用功能module的Application;
如果主module有自定义Application,其他module没有,则自动引入module的Application;
如功能module中有两个自定义Application,在解决冲突后,Application最终会载入后编译的module的Application;
如猪module中有自定义Application,其他功能module也有自定义Application,在解决冲突后,最后编译的猪module的Application会在AndroidManifest中。
4.Application:
Application的基础及作用:
当Android应用启动的时候,最先启动的系统组件并不是MainActivity,而是Application,每个app运行时仅创建一个唯一一个Application,用于存储系统的一些信息,那么可以将它理解为整个app的一个单例对象,并且其生命周期时最长的,相当于整个app的周期。主要方法:
组件化Application:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。