Coder Social home page Coder Social logo

dynamic-load-learning's Introduction

1 前言

插件化算是比较复杂的一个话题。刚一接触的时候,我是一脸懵逼的,网上看了很多博客,一直是似懂非懂,不得其要领。期间也尝试看了Small,也是知其然不知其所以然。

就此搁置一段时间,直到真正拿出勇气,尝试自己实现插件化,成功加载了四大组件之一Activity。这才明白它的背后究竟做了什么,以及为什么这么做。

希望借着这篇文章,谈谈自己的理解。也希望通过我的小 Demo,能帮大家更轻松的理解诸如SmallVirtualApkAtlas之类的大型框架。如有纰漏,请留言指出。

2 效果预览

主apk[com.fashare.app.MainActivity]唤起sd卡上的插件apk[com.fashare.testapk.PluginActivity] :

preview

3 原理与实现

详见我的博客: 插件化理解与实现 —— 加载 Activity「类加载篇」

4 感谢

《Android插件化技术——原理篇》—— 腾讯Bugly

Android 插件化原理解析——插件加载机制 —— weishu

8个类搞定插件化——Activity —— 开源实验室

插件化框架 Small

插件化框架 VirtualAPK —— 滴滴

dynamic-load-learning's People

Contributors

fashare2015 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.