重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.webview_flutter
创新互联建站是专业的昌邑网站建设公司,昌邑接单;提供成都做网站、网站制作、成都外贸网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行昌邑网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
2.flutter_inappwebview
3.flutter_webview_plugin
笔者最近发现webview_flutter在Android端嵌套带有较长的Webview页面时偶欧会存在卡顿问题表现为加速向下滑动到页面底部,然后从底部慢慢像上滑就不起作用了,体验很不好,经过一天的排查和实验发现是webview_flutter插件自己的问题,用原生嵌套WebView并没有问题,后来改成flutter_webview_plugin问题可以解决,但是flutter_webview_plugin插件并不是基于flutter渲染的并不能在嵌套webview的页面自定义flutter样式层,后来发现使用flutter_inappwebview插件能够完美解决问题。推荐你们用flutter_inappwebview。
首先将项目android目录下的build.gradle中google()和jcenter()替换成阿里镜像地址
修改本地的flutter配置文件,flutter安装目录下找到packages/flutter_tools/gradle/flutter.gradle文件,repositories 修改为
将 MAVEN_REPO 地址替换为
修改 packages/flutter_tools/gradle/resolve_dependencies.gradle,替换maven地址为
重新运行项目,等待一会就可以正常运行。
Flutter 国内镜像 失效替换:
//修改的地方
maven { url '' }
maven { url '' }
maven { url '' }
distributionUrl=file\:/D\:/softWare/gradle/gradle-5.4.1-all.zip
注意,你安装的gradle版本必须和你项目配置的flutter版本想匹配,附上插件版本所需的 Gradle 版本链接 (),选择安装你适配的版本!
repositories {
// google()
// jcenter()
//修改的地方
maven { url '' }
maven { url '' }
maven { url '' }
}
//修改的地方
private static final String MAVEN_REPO = "";
project.rootProject.allprojects {
repositories {
maven {
url repository
//修改的地方
//添加
maven { url '' }
maven { url '' }
maven { url '' }
}
}
}
修改这些地方后,执行flutter clean后重新运行flutter run,发现已经运行成功,
虚拟机内也启动了flutter的demo画面,至此,大功告成~~~
记录下坑
一开始我就使用Future、async、await去做异步操作,以为这样能解决问题,经过一天研究发现他们都还在同一个线程里面,也就是UI线程,导致卡顿,这明显不是我们想要的异步加载数据。
Dart真正的线程叫隔离(Isolate)
难受香菇
有点心累,记录下吧。