Shadow
Shadow copied to clipboard
PluginManagerThatSupportMultiLoader使用问题
没有找到PluginManagerThatSupportMultiLoader的使用示例代码 请教一下这个类应该怎么使用: 插件的partKey应该怎么传入?
应该是要实现多个PluginManagerThatSupportMultiLoader
的子类,每个子类分配一个新概念PluginKey
的值。
PPS基类也要换成对应的MultiLoaderPluginProcessService
。
由PluginKey
对应多套runtime、loader、插件。然后这个manager的mPpsController
的类型是MultiLoaderPpsController
,对比PpsController
每个方法就都多出了PluginKey
。
这样调用getPluginLoaderForPlugin
方法得到的还是跟以前一样的PluginLoader
接口。所以“插件的partKey”如何传入和以前就是一样的了。
应该是要实现多个
PluginManagerThatSupportMultiLoader
的子类,每个子类分配一个新概念PluginKey
的值。PPS基类也要换成对应的
MultiLoaderPluginProcessService
。由
PluginKey
对应多套runtime、loader、插件。然后这个manager的mPpsController
的类型是MultiLoaderPpsController
,对比PpsController
每个方法就都多出了PluginKey
。这样调用
getPluginLoaderForPlugin
方法得到的还是跟以前一样的PluginLoader
接口。所以“插件的partKey”如何传入和以前就是一样的了。
好像不行吧,是这样理解吗: 每个插件有一个PluginKey,每个PluginKey对应一个PluginManagerThatSupportMultiLoader的子类 1、manager对象在什么时机创建呢? 2、由于一个进程只有一个PPS实例,那么PluginManagerThatSupportMultiLoader的onPluginServiceConnected也只会回调一次吧
每个插件有一个PluginKey
不是每个插件,是每个PluginManagerThatSupportMultiLoader
的子类,对应每个loader。
manager对象在什么时机创建呢?
和之前一样,由宿主中的代码自行决定。
由于一个进程只有一个PPS实例,那么PluginManagerThatSupportMultiLoader的onPluginServiceConnected也只会回调一次吧
你应该还没有测试吧?每个manager实例应该都是独立bind的PPS,所以它们都会各自收到一次bind的回调,进而回调到onPluginServiceConnected
方法。
PS:刚才发现这里的onPluginServiceConnected
方法名不对,应该叫onPluginProcessServiceConnected
。
每个插件有一个PluginKey
不是每个插件,是每个
PluginManagerThatSupportMultiLoader
的子类,对应每个loader。 我需要实现的需求是,每个进程管理多个插件,每个插件有独立的loader,从而解决重复添加组件的问题,是否是这个场景,如果是的话,是每个插件对应一个PluginManagerThatSupportMultiLoader的子类吗?manager对象在什么时机创建呢?
和之前一样,由宿主中的代码自行决定。 之前不是宿主自行决定,是通过实现ManagerFactory,返回manager实例的
由于一个进程只有一个PPS实例,那么PluginManagerThatSupportMultiLoader的onPluginServiceConnected也只会回调一次吧
你应该还没有测试吧?每个manager实例应该都是独立bind的PPS,所以它们都会各自收到一次bind的回调,进而回调到
onPluginServiceConnected
方法。PS:刚才发现这里的
onPluginServiceConnected
方法名不对,应该叫onPluginProcessServiceConnected
。