Flutter 使用package get报错:
点击package get或package upgrade无反应:检查dart进程是否有网络资源的占用,一般来说如果有网络资源占用说明正在从服务器下载资源到本地,由于镜像连接质量问题导致下载速度过慢。切换网络环境或者耐心等待就会出结果。
编译Flutter Gallery报错
Running "flutter pub get" in flutter_gallery...
Because every version of flutter_goldens from sdk depends on string_scanner 1.0.4 and flutter_gallery depends on string_scanner ^1.0.5, flutter_goldens from sdk is forbidden.
So, because flutter_gallery depends on flutter_goldens any from sdk, version solving failed.
pub get failed (1)
exit code 1
乍一看是因为sdk版本问题,按照提示改版本号就好了,其实如果这样做会不断报多个sdk版本错误,而且所有sdk都会要求降低版本,但是这样做最终执行会导致多个参数找不到引用。因为代码使用了高版本独有的方法。
这个问题的根本原因是flutter中国团队部署的国内镜像为flutter的master版本,部分beta实现没有。而flutter gallery大概恰巧使用了这些beta功能。
解决方法为将环境变量中flutter的中国镜像删除,在项目的控制台中执行
flutter channel dev
然后执行
flutter doctor
这样就把flutter dev分支上的内容同步下来。返回项目package get就好了。
Flutter运行性能问题
我相信不少同学在刚刚运行flutter代码的时候,习惯性的直接点Run运行,运行到设备后发现flutter的app会有明显掉帧的现象。比原生的性能相差不少。这个问题其实在官方已经说明了,相对于Android不同,官方团队针对flutter新加了一个Profile Mode,Run in Profile Mode会比debug模式流畅不少,基本没有差别。另外flutter的release模式和原生的release模式在流畅性上相差无几,在之后的flutter开发过程中可以直接用Run in Profile Mode或Run in Release Mode代替debug模式(二次更改:实践得知,在以上两种模式下无法使用热加载,故在性能测试时可用以上模式)。即使在流畅性上和原生相差不大,但是在安装包大小和资源占用上和原生还是有较大差距。