离子电容器:序列化对象的大小限制,并将其通过PluginCall参数传递给Android

时间:2018-11-16 00:32:52

标签: ionic-framework capacitor

我正在尝试将包含大型配置对象的base64字符串(大约50MB)从Ionic Capacitor传递给NativePlugin方法。如果我传递的字符串要小得多(〜1MB),则可以在Java代码上命中断点,但是传递50MB的字符串不会产生任何错误或到达本地。

可以传递的序列化对象的最大大小是否有限制?是否可以增加此限制?

以下是我拥有的代码段:

PppPlugin.configure({ cfg: config }).then(() => {
config = null; // memory cleanup
this.configStatus = 'Configured!';
});

ionic-plugin.ts:

declare global
{
    interface PluginRegistry {
         PppPlugin?: PppPluginPlugin;
    }
}

export interface PppPluginPlugin {
    configure(options: { cfg: string }): Promise<string>;
}

Java:

@NativePlugin()
public class PppPlugin extends Plugin {

    @PluginMethod()
    public void configure(PluginCall call) {
        String config = call.getString("cfg");
        boolean result = libppp.configure(config);

        if (result) {
            JSObject ret = new JSObject();
            ret.put("success", result);
            call.success(ret);
        }
}

0 个答案:

没有答案