美文网首页Flutter学习
Flutter 异步加载数据,UI卡顿

Flutter 异步加载数据,UI卡顿

作者: 星邪Ara | 来源:发表于2020-11-05 16:24 被阅读0次

记录下坑

一开始我就使用Future、async、await去做异步操作,以为这样能解决问题,经过一天研究发现他们都还在同一个线程里面,也就是UI线程,导致卡顿,这明显不是我们想要的异步加载数据。
Dart真正的线程叫隔离(Isolate)

难受香菇

线程 隔离(Isolate)使用

使用compute隔离

compute(函数必须是顶级函数 或 static修饰的函数, 需要的入参如:json);
static Future<List<Map<String, dynamic>>> getList(String json) async {
   return await compute(_getList, sp);
}

static List<Map<String, dynamic>> _getList(String json) {
  //需要异步线程处理代码
}

有点心累,记录下吧。

相关文章

网友评论

    本文标题:Flutter 异步加载数据,UI卡顿

    本文链接:https://www.haomeiwen.com/subject/daqavktx.html