项目在调试阶段一直用的是flutter的debug版本framework,一直没有问题,突然发现用了release版本的framework,发现进入初始页面是个大白屏,尝试了“flutter clean后重新build”等方法后无效。
我的项目因为是用了flutter的多入口,原生这边使用了FlutterEngine的这个方法
- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint;
,加载的入口并不是main,而是另外一个入口。研究过这个方法的注释后才发现如下内容:
If it is not the app's main() function, that function must
* be decorated with `@pragma(vm:entry-point)` to ensure the method is not tree-shaken by the Dart
* compiler.
在flutter代码中的自定义入口方法加上如下内容解决问题
@pragma("vm:entry-point")
网友评论