`

插件化小结

 
阅读更多

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了。

分享到:
评论

相关推荐

    jQuery插件开发的五种形态小结

    总结来说,jQuery插件开发中的五种形态小结通过一系列的示例和说明,为开发者展示了如何创建一个高效、可维护的插件。这五个形态涉及到了代码的独立性、链式操作、插件的可配置性、生命周期的管理、无冲突处理以及...

    插件开发自我小总结

    本文将根据标题"插件开发自我小总结"及描述中的"项目代码"和"博文链接",结合标签"源码"和"工具",深入探讨插件开发的相关知识点。 首先,插件开发的基础是理解插件的本质。插件通常是一段可插入到主程序中的代码,...

    MyEclipse-8.5-之Drools插件安装小结.docx

    - **Drools Planner**:用于自动化规划,帮助解决复杂的优化问题。 2. **Drools插件安装步骤** - 首先,从官方网站下载Drools和Drools插件的压缩包并解压。 - 在MyEclipse 8.5中,通过“Help”->“Software ...

    QTP使用小结

    QTP 使用小结 QTP(QuickTest Professional)是一款自动化测试工具,由Micro Focus公司开发。它可以帮助测试人员快速地创建测试脚本,以便自动化测试过程。下面是一个关于QTP的使用小结,总结了QTP的基本使用步骤和...

    eclipse可视化插件和git命令行结合提交代码,可保证万无一失

    #### 四、小结 通过上述步骤,我们不仅可以有效地解决代码合并时可能出现的冲突问题,而且还能确保代码提交的准确性和安全性。采用Eclipse可视化插件与Git命令行相结合的方式进行代码管理,能够大大提高工作效率,...

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

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

    Jquery.validate表单验证小结

    1. **引入必要脚本**:在`<head>`部分,通过`<script>`标签引入jQuery核心库、元数据解析脚本、jQuery Validate插件及国际化消息文件。 2. **配置验证规则**:在`<script>`标签中,使用`$(function() { ... });`...

    JavaScript插件化开发教程 (一)

    **小结** - `$.fn.bigbear.defaults`提供了插件的默认参数选项,可以方便地对插件进行配置和扩展。 - 通过自定义插件,可以将复杂的逻辑封装起来,使得代码更加清晰易读。 - 使用插件化开发可以显著提升Web应用的...

    jQuery插件开发全解析

    #### 四、小结 通过学习以上两种类型的jQuery插件开发,开发者不仅能够更好地理解和利用jQuery的强大功能,还能提高自身的编程技巧和封装能力。无论是对于个人技能的提升还是项目的实际应用,都有着重要的意义。在...

    Eclipse4.x插件开发实践

    #### 五、演练小结 本文介绍了如何安装和配置Eclipse插件开发环境的基础知识。具体来说,选择了包含多种功能的"Eclipse IDE for Java EE Developers"版本,并在此基础上安装了必要的PDE相关组件。这一系列操作为后续...

    allure-python自动化框架报告输入出插件

    ### 小结 Allure Python插件是Python自动化测试不可或缺的一部分,它提升了测试报告的质量和实用性。通过丰富的元数据、详细的步骤描述和直观的图表,Allure帮助团队更高效地理解和改进测试流程。如果你的项目涉及...

    Qt组件编程小结

    在本小结中,我们将讨论如何在Qt框架中开发自定义组件,并通过插件的方式集成到Qt Creator和Qt Designer中,以提高开发效率和界面可定制性。 首先,介绍Qt自定义组件开发步骤。新建一个Qt4设计师自定义控件工程,...

    eclipse 如何安装插件

    ### 小结 以上介绍了在Eclipse中安装插件的三种常见方法,每种方法都有其适用场景。手动安装适合于离线环境或已有插件文件的情况;远程安装则便于获取最新的插件版本;链接方式则在需要节省磁盘空间时特别有用。...

    E审通安装小结

    E审通安装小结 E审通是一款专业的审计软件,能够帮助用户快速完成审计工作。本文将对E审通的安装、使用和功能进行详细的介绍。 一、安装注意 在安装E审通之前,需要注意以下几点: * E审通软件内多个程序可能会...

    ThinkPHP使用Smarty第三方插件方法小结

    init方法的目的是在View类实例化时进行初始化,以便能够加载并使用用户自定义的模板引擎。在这些自定义的修改中,将个人模板插件放置在第三方插件的Vendor目录下,并确保修改过程中不漏掉任何关键的代码行。 需要...

    jquery 插件开发方法小结

    总的来说,jQuery插件开发是JavaScript开发中的一项重要技能,它使得开发者能够充分利用jQuery的便利性,创建出富有创意和实用性的功能,同时保持代码的模块化和可维护性。通过熟练掌握`jQuery.fn.extend()`和`...

    框架、组件、插件、控件中间件概念及区别

    #### 小结 - **学习经验** 学习这些概念时,重要的是理解每个概念的核心价值和应用场景。实践中尝试使用不同的技术可以帮助更好地掌握它们之间的差异。 - **工作经验** 在实际项目中灵活运用这些概念和技术,...

    Jquery验证插件

    #### 七、小结 `validationEngine`插件为开发者提供了一种简单有效的方法来增强前端表单的验证功能。它不仅具备强大的验证能力,还拥有良好的用户体验设计,非常适合应用于需要高度定制化的表单验证场景中。通过...

    vue插件tab选项卡使用小结

    `methods`中的`init`方法初始化了选项卡的宽度,确保组件正确布局。`onPan`方法处理滑动手势,使选项卡能够响应用户的滑动操作。 在样式方面,组件使用了Sass(Scss)语言,这允许我们使用变量、嵌套规则和混合等...

Global site tag (gtag.js) - Google Analytics