`

插件化小结

阅读更多

1、主插件需要负责公用功能的初始化操作、TaobaoInit可配置为应用启动时初始化或插件Activity第一次启动时候的初始化。主插件维持application和classLoader。并且需要负责子插件的中转。

    ​    ​2、在编译的时候会将子插件程序伪装为so,并且合并manifest。

    ​    ​3、子插件可以直接编译为apk,他只需要负责实现自己的功能即可,尽量避免多个直插件之间互相干扰。

    ​    ​4、如果在apk发布后需要动态加载新的页面也业务。manifest是没有办法改变的,如何找到这个Activity呢?a ——可以使用欺骗的方式在classLoader的时候执行新发布的页面so。主插件持有的classLoader发现找不到Activity出现ClassNotFound ,此时动态改变加载的类以欺骗classLoader。b ——也可以使用一个容器Activity。事先配置好了这个Activity,程序只管理ContainerActivity,但是在这个Activity的生命周期里面,去手动调用我们新发布的Activity(比如MyActivity)的生命周期方法,这种时候,用户感觉到的是业务逻辑是MyActivity,但是ActivityManager管理的是ContainerActivity。

    ​    ​5、可以动态部署Fragment以解决Activity需要动态配置Menifest的问题,这就不需要欺骗classLoader了。

分享到:
评论

相关推荐

    BootStrap中Datetimepicker和uploadify插件应用实例小结

    bootstrap-datetimepicker是一款轻便的时间选择插件,支持Time选择,国际化,应用起来相当简单。而uploadify则是一款支持多文件上传的插件。最近应用这两个插件做了些小应用,感觉不错,简单做个总结。 1.引入插件...

    jquery插件使用方法大全

    jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令...

    VSCode Vue开发推荐插件和VSCode快捷键(小结)

    首先这几个是VSCode推荐Vue开发必备的插件 Vetur —— 语法高亮、智能感知、Emmet等 包含格式化功能, Alt+Shift+F (格式化全文),Ctrl+K Ctrl+F(格式化选中代码,两个Ctrl需要同时按着) EsLint —— 语法纠错 ...

    HTML5用户指南

     小结 第2章 文本  构造主要内容区域  添加博客帖子和评论  使用html 5大纲  理解wai-aria  更多新结构  重新定义的元素  全局属性  本书中没有介绍的功能  小结 第3章 表单  我们爱html,现在它反过来...

    hibernate 3中的缓存小结

    hibernate 3中的缓存小结 2.2. 一级缓存的管理: 当应用程序调用Session的save()、update()、savaeOrUpdate()、get()或load(),以及调用查询接口的list()、iterate()或filter()方法时,如果在Session缓存中还不存在...

    lanlan2017#JavaReadingNotes#4.5 本章小结1

    - 第4章 虚拟机性能监控、故障处理工具- 4.5 本章小结本章介绍了随JDK发布的6个命令行工具与4个可视化的故障处理工具,灵活使用这些工具,可以 为处理问题

    基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用

    在上篇基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理,介绍了Bootstrap开发框架的一些基础性概括,包括总体界面效果,以及布局、菜单等内容,本篇继续这一主题,介绍页面内容常用到的数据...

    Grails 技术精解与Web开发实践【源码+样章】----下载不扣分,回帖加1分,欢迎下载,童叟无欺

    1.6 本章小结 4 第一篇 入门篇 第2章 Hello Grails 6 2.1 Grails的安装 6 2.1.1 JDK的安装与配置 6 2.1.2 Grails的安装 7 2.2 创建Grails工程 8 2.3 Grails的MVC架构 11 2.4 Scaffold应用程序 14 2.5 开发工具的...

    深入浅出Struts2(附源码)

    1.4 小结 13 第2章初识Struts 14 2.1 Struts的优点 14 2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts.properties文件 26 2.5 Struts应用程序示例...

    SEO编程PHP中文版

    1.4 小结 第2章 SEO基础知识 2.1 SEO概述 2.1.1 链接价值 2.1.2 Google PageRank 2.1.3 可用性和可达性 2.2 搜索引擎排名因素 2.2.1 页上因素 2.2.2 可见的页上因素 2.2.3 不可见的页上因素 2.2.4 基于...

    jQuery权威指南366页完整版pdf和源码打包

    6.5 综合案例分析—用ajax实现新闻点评即时更新 6.5.1 需求分析 6.5.2 效果界面 6.5.3 功能实现 6.5.4 代码分析 6.6 本章小结 第7章 jquery常用插件 7.1 jquery插件概述 7.2 验证插件validate 7.3...

    Jqury基础教程

    1.5 小结 第2章 选择符 2.1 DOM 2.2 工厂函数$() 2.3 CSS选择符 2.4 属性选择符 2.5 自定义选择符 2.5.1 每隔一行为表格添加样式 2.5.2 基于表单的选择符 2.6 DOM遍历方法 2.6.1 为特定单元格添加样式 ...

    JAVA WEB典型模块与项目实战大全

    1.5 小结  第2章 myedipse开发工具对各种框架的支持  2.1 使用jsp的两种模式  2.2 struts框架的实现  2.3 hibernate框架的实现  2.4 jpa框架的实现  2.5 spring框架的实现  2.6 jsf框架的实现  2.7...

    CSSPeeper可视觉化网站CSS样式表

    CSSPeeper是一款专为设计师量身打造的可视觉化网站CSS样式表检查插件 CSSPeeper插件使用方法 1.CSS Peeper插件的安装方法非常简单,在本站或者官网都可以下载CSS Peeper插件,离线安装CSS Peeper插件的方法参照:...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    1.4 小结 13 第2章 初识Struts 14 2.1 Struts的优点 14 2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts.properties文件 26 2.5 Struts应用程序示例 26 ...

    jquery基础教程高清版PDF.part5.rar

     1.4 小结  第2章 选择符——取得你想要的一切   2.1 DOM   2.2 工厂函数$()   2.3 CSS选择符   2.4 XPath选择符   2.5 自定义选择符   2.6 DOM遍历方法   2.7 访问DOM元素   2.8 小...

    基于知识图谱的个性化智能教学推荐系统(论文+源码)-kaic.docx

    2.7 本章小结 17 第3章 Python程序设计知识图谱的构建 18 3.1 课程的知识结构 18 3.1.1 知识点的表示 18 3.1.2 知识点的关系 18 3.1.3 知识点和题目的属性 20 3.2 课程知识图谱的构建 20 3.2.1 数据的获取 20 3.2.2 ...

Global site tag (gtag.js) - Google Analytics