图:吃粽子,怀念屈原
插件化发展到今天,已经可以通过插件化做出越来越多好玩的了,早在去年通过分析DriodPlugin时,曾做了一个大胆的假设,任何app不用安装,便可以通过插件机制运行。对于宿主来说,插件运行在宿主的process中。相当于一个沙箱,宿主想运行那个app,就可以运行那个app,driodplugin的demo也是可以跑通。对于社交化的今天,越来越多人,希望做到工作和生活分开,一般都有工作号和生活号,如微信,有工作时用,也有生活用。那能不能做到一台手机上同时登陆工作号,又同时登陆生活号呢?答案,通过插件化,是可以做到的。正常的微信是一个process,插件机制中,可以启动不用安装的app,简单理解就是,apk中运行apk,可以从某种意义上说就是静默安装。 插件之间、Host程序与插件之间会互相认为对方已经"安装"在系统上了。看下效果:
从内存上看:两个process,占的内存明显不一样,167M的那个是运行在插件化环境下。93M的是微信的process。通信发消息没有任何问题。市场上已经有不少应用有了这个功能。如果有这方面诉求的,我告诉大家的是用DroidPlugin可以完美实现。
我的相关DroidPlugin分析系列文章:
插件开发之360 DroidPlugin源码分析(二)Hook机制
插件开发之360 DroidPlugin源码分析(三)Binder代理
插件占坑,四大组件动态注册前奏(一) 系统Activity的启动流程
插件占坑,四大组件动态注册前奏(二) 系统Service的启动流程
插件占坑,四大组件动态注册前奏(三) 系统BroadCast的注册发送流程
插件开发之360 DroidPlugin源码分析(四)Activity预注册占坑
插件开发之360 DroidPlugin源码分析(五)Service预注册占坑
第一时间获得 【 不止个人原创 android/音视频技术干货,问题深度总结,FrameWork源码解析,插件化研究,FFmpeg研究,直播技术,最新开源项目推荐,还有更多职场思考 】 ,欢迎关注我的微信公众号,扫一扫下方二维码或者长按识别二维码