Flutter学习

Flutter 异步加载数据,UI卡顿

2020-11-05  本文已影响0人  星邪Ara

记录下坑

一开始我就使用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) {
  //需要异步线程处理代码
}

有点心累,记录下吧。

上一篇 下一篇

猜你喜欢

热点阅读