美文网首页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