layout: post

关于fluttercompute的使用

subtitle: 关于fluttercompute的使用 date: 2020-09-15 author: BY jcleng header-img: img/post-bg-kuaidi.jpg catalog: true tags: - lubuntu - linux

关于 flutter compute的使用

# 在flutter的开发中遇到UI总是有一种卡卡的感觉,是因为请求数据和解析数据的时候使用了同一个线程,使用isolate能改善UI的卡顿,就是内存占用比较高
  • service 文件

// 因为 compute() 只能传递一个参数,所以说请求接口只能是一个参数,该map参数是请求参数的一个全集
Future<MoneyWithdrawalListEn> moneyWithdrawalListCompute(MoneyWithdrawalListParamaEn parama) async {
  Map<String,dynamic> respose = await LibDio.post(
    '/',
    {
      "param": {
        "money_withdrawal_list": {
          "time": Common.getTime(),
          "layer": "member",
          "page": parama.page,
        }
      },
    },
  );
  /// 解析数据也一并放到这里
  MoneyWithdrawalListParamaEn data = MoneyWithdrawalListParamaEn.fromJson(respose);
  return data;
}
  • 调用

MoneyWithdrawalListParamaEn parama;
MoneyWithdrawalListParamaEn data = await compute(moneyWithdrawalListCompute, parama);