《Android组件化架构》第一章

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38515203/article/details/82922067

《Android组件化架构》读书笔记。此文章为个人的读书笔记,纯属记录学习之用。

第一章:组件化基础

1.1 你知道组件化吗

  • 组件化概念的基础:多 module 划分业务和基础功能

1.2 聚合和解耦

1)聚合和解耦是项目架构的基础
2)组件化架构就是在文件层级上有效的控制沟通和个体独立性的做法

1.3 重新认识 AndroidManifest

  • Android 四大组件与组件化架构并没有必然的关系

1.3.1 AndroidManifest 属性汇总

  •  

1.3.2 AndroidManifest 属性变更

1. 注册 Activity

  •  

2. 注册 Application

1)App 最终只会允许生命一个 Application 到 AndroidManifest 中
2)Application 的替换规则

  • 功能 module 中有 Application ,主 module 中没有,则引用功能 module 中的 Application
  • 主 module 有,功能没有,则引用主 module 中的
  • 功能 module 中有两个,解决冲突后(在每个功能 module 中添加 tools:replace 字段),引用后编译 module 中的 Application
  • 主 module 中有,功能 module 中也有,解决冲突后(在主 module 中添加 tools:replace 字段),引用最后编译的主 module 中的 Application

3. 权限声明

1)如果在功能 module 中声明所需要的权限,则在主 module 中就会生成相应的权限。
2)各个 module 中声明了相同的权限,在主 module 中会合并生成一个。即相同的权限只会被声明一次。

4. 主题声明

1)Activity 的每个主题都是独立的,每个 Activity 的主题都会引用自身 module 的 AndroidManifest 所声明的主题。
2)Application的主题最终被编入full AndroidManifest中,full 中的 Application theme 将默认为整个 App 的 UI 主题风格。

5.Service

  • 四大组件在 AndroidManifest 中声明的规则都是一样的

6.ShareUid

1)拥有同一个 User id 的多个 App 可以配置成运行在同一个进程中,默认可以互相访问任意数据
2)在功能中的 shareUid 并不会放到最终的 ApplicationManifest 中。只有在主 module(Application module)中声明的 ShareUerId 才会最终打包到 full AndroidManifest 中。
3)每个 module 打包 arr 时都会将 versionCode 和 versionName 补全

1.4 你所不知道的 Application

1.4.1 Application 的基础和作用

1)当 Android 应用启动的时候,最先启动的是 Application 而非 MainActivity
2)Application 中比较重要的几个方法

  • onCreate——在创建应用程序时的回调方法,比任何 Activity 都要靠前。Application 比 Activity 更先创建
  • onTerminate——终止应用程序对象时调用。不保证一定被调用
  • onLowMemory——后台程序已经终止且资源还匮乏时会调用这个方法。
  • onConfigurationChanged——配置改变时触发这个方法,例如手机屏幕旋转等
  • registerActivityLifecycleCallbacks() 和 unregisterActivityLifecycleCallbacks() 用于注册和注销对 App 内所有 Activity 的生命周期监听 当 App 内 Activity 的生命周期发生变化的时候就会调用 ActivityLifecycleCallbacks 中的方法

1.4.2 组件化 Application

  •  

1.5 小结

  •  

猜你喜欢

转载自blog.csdn.net/weixin_38515203/article/details/82922067