https://blog.csdn.net/u012999651/article/details/93881387?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158358987219724845019572%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158358987219724845019572&biz_id=0&utm_source=distribute.pc_search_result.none-task

原因:

解耦,方便维护
加快编译
动态更新,无需下载与安装整个app,可以单独下载apk插件
模块定制,需要什么,下载什么

详情:

插件化:加载本地不存在的外部可执行文件。
两种:
1.动态加载so库(其实可以放在外部存储,我们常用的是放在内部存储)
2.classloader动态加载外部可执行文件,如dex,jar,apk

动态加载:

  1. 简单动态加载,逻辑sdk,登录注册界面等等。
  2. 静态代理Activity,使用插件的activity,实际使用的是host的activity,需要解决两个问题:
    ①生命周期,提前在host中注册好activity,然后拿到插件的activity的引用(两种方式,通过反射,再接口化;通过接口调用),在各个生命周期方法同步调用
    ②R资源
    反射拿到AssertManager,调用addAssertPath,得到Resourse资源对象。
  3. 动态注册Activity

https://blog.csdn.net/micotale/article/details/88962682?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158372465819726867829400%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158372465819726867829400&biz_id=0&utm_source=distribute.pc_search_result.none-task

更多相关文章

  1. MUI调用自定义插件(Android)
  2. Android 动态设置全屏,退出全屏
  3. Android下拉刷新上拉加载控件的使用
  4. Android实现动态切换横竖屏,保存横竖屏数据(用Preference存储)
  5. Android 开发中,pullToRefreshListView 的刷新,加载
  6. Android C++ 动态加载so
  7. android中setImageResource加载大图片出现oom解决方案
  8. Android加载Gif动画实现代码
  9. Android studio 常用的插件

随机推荐

  1. android statusbar 的修改
  2. Android(安卓)学习资料
  3. android checkbox自定义样式
  4. Android中Message传递参数实例
  5. Android(安卓)Studio中修改gradle插件版
  6. android获取短信中心号
  7. [zip]android下实现直接读取zip中的文件
  8. 通话接通和断开时振动
  9. JS 解决安卓手机输入框被软键盘遮住的问
  10. Android中Context详解——你所不知道的Co