• Geek_joestar
    2019-09-10
    原生页面打开Flutter页面时会黑屏一两秒,然后出现Flutter页面内容,这个体验很不好

    作者回复: Debug环境吧?Release环境加载会快很多,另外可以考虑提前把引擎初始化

     3
     3
  • Carlo
    2019-10-27
    从 Flutter 页面跳转至原生页面 或者 从原生页面跳转至Flutter页面 如何传参呢?

    作者回复: OpenNativePage,closeFlutterPage这两个方法可以增加参数

    
     2
  • 陆大胖
    2019-09-18
    Push FlutterViewController的方案不可取。起码现在stable分支上没有解决内存泄漏的问题。另外需知道每个FlutterViewController的创建都应了整个Flutter App的启动(xcode上暂停应用,会看到多了一套完整的Flutter线程,UI、io那些),无论你是否setInitialRoute,都是从Flutter代码的main函数开始运行,感觉上就是在你的应用内,启动了2个同样的Flutter App/模块, 这还意味着2个FlutterViewController之间不做特殊处理的情况下不共享任何信息,以上,大多数情况下都会带来些水土不服。另外作者在回复中提到的“或者纯FlutterApp全部都是FlutterViewController,不释放其实也没什么问题”,这里的“全部都是FlutterViewController”可能我理解有偏差,先打个问号。

    作者回复: flutteView确实有内存泄漏问题,不过问题不大,技术上可以通过全局共享VC解决,实际落地尽量让业务闭环在Flutter内部即可。
    对于纯flutter应用,整个页面都是flutter渲染的,不涉及跨技术栈的渲染切换,自然也就不需要重建和释放了。

    
     1
  • 菜头
    2019-11-20
    请教一下
    如何能够确保这两种页面过渡动画在应用整体的效果是一致的?

    作者回复: 保证整体效果一致,有两种方案:
    一是,分别定制原生工程(主要是Android)的切换动画,及Flutter的切换动画;
    二是,使用类似闲鱼的共享FlutterView的机制,将页面切换统一交由原生处理,FlutterView只负责刷新界面。

     1
    
  • 阿水
    2019-10-31
    老师我想请教一下,原生界面和flutter界面互相跳转的时候出现屏幕一闪的现象,有解决方案吗

    作者回复: 把flutter容器做成单例,提前初始化好

    
    
  • zzz
    2019-10-30
    看文中提到的头条的文章,FlutterView -> Engine —> vm中的isolate,然后使用isolate共享,FlutterView -> Engine还是一一对应的就解决了内存的问题,那请问下在iOS中,初始化FlutterViewController的方法中initWithEngine中传入同一个engine,是否是多个FlutterViewController对应同一个engine然后对应一个isolate呢?

    作者回复: 是,但是你需要自己去清理和恢复engine的运行上下文,可能会出现为定义的异常或者bug

    
    
  • N1eR
    2019-10-30
    跳转到的原生页面继承AppCompatActivity会崩溃 继承Activity就没事 这是为啥

    作者回复: 一般是直接用acrivity,否则你需要单独隐藏工具栏。crash倒从来没遇到过,你可以查一下具体的报错信息

    
    
  • 舒大飞
    2019-10-11
    如果混合开发中,多个不连续的flutter页面那个就会创建多个Flutter引擎吗

    作者回复: 如果不做特殊定制(头条或闲鱼的方案),是的

    
    
  • 辉哥
    2019-09-26
    老师,请教一下,对于android来说,Flutter实例是不是对应的FlutterView对象?同时开启多个Flutter实例会占用过多的内存,那关闭当前Flutter容器所在的Activity是否能回收Flutter实例所占的内存?

    作者回复: 对;理论上是,但考虑到Flutter引擎有内存泄漏问题,如果Flutter页面需要反复打开,不建议采用这种方式回收内存,可以考虑将Flutter容器做成一个单例。

    
    
  • Tony
    2019-09-24
    我想问下老师,用什么画图软件画的图

    作者回复: draw.io

    
    
  • 矮个子先生😝
    2019-09-04
    老师,不知您是否有出现,push FlutterViewController之后,然后closeFlutterPage,但是内存依然居高不下.

    作者回复: FlutterEngine内部实现存在循环引用的情况,所以会有内存泄漏的问题。不过一般的混合应用只会创建一个FlutterViewController,或者纯FlutterApp全部都是FlutterViewController,不释放其实也没什么问题。如果真的需要关闭flutter容器,可以把FlutterViewController缓存起来(作为单例使用)。

    
    
  • 许童童
    2019-09-03
    跟着老师一起精进,感谢老师的分享。
    
    
我们在线,来聊聊吧