openkraken / kraken

A web standards-compliant, high-performance rendering engine based on Flutter.
https://openkraken.com
Apache License 2.0
4.93k stars 304 forks source link

如果当前项目已经集成了flutter_boost,如何再去集成北海呢? #374

Open EightMinuteYouth opened 3 years ago

EightMinuteYouth commented 3 years ago

使用场景 | Use case

目前是原生的移动端集成了flutter同时想部分的flutter能够动态化

提案 | Proposal

目前是原生的移动端集成了flutter同时想部分的flutter能够动态化

andycall commented 3 years ago

这两者之间没有什么联系,直接用就可以了

EightMinuteYouth commented 3 years ago

但是我直接集成之后, 第一次是可以打开北海但是第二次或者第三次就直接白屏了.

https://github.com/EightMinuteYouth/TestBoostAndKraken 这个是一个小的demo,大佬可以帮忙看看吗?

kobeng commented 3 years ago

这两者之间没有什么联系,直接用就可以了

我们集成后 第一次能打开kraken页面 第二次点击按钮就不行了

这里我们有提交issus给boost

https://github.com/alibaba/flutter_boost/issues/1157

如果有空 麻烦看看 是哪一边的问题 谢谢您了

andycall commented 3 years ago

我们看下原因是啥

andycall commented 3 years ago

@EightMinuteYouth 最近刚遇到一个类似的 case,大概率是在没有创建 viewController 的时候创建 kraken,这样会导致 kraken 读取到的 window.physicalSize 为 Size(0,0) 而导致渲染出来的内容尺寸也为 0.

可以通过下面的方式加个固定宽高试下:

Kraken(
      background: Colors.white,
        viewportWidth: 400,
        viewportHeight: 400,
        bundleURL:
            'https://regional-ecology.oss-cn-hangzhou.aliyuncs.com/bundle.js');