isolate不能滥用,只有非常耗时的任务(如图片裁切、数据加密等)时才建议使用,否则还是使用Future。
import 'package:flutter/foundation.dart'; import 'dart:io'; void main() { print('main isolate start'); create_new_task(); print('main isolate end'); } void create_new_task() async { var str = 'new task finished'; //compute启动一个新的isolate var result = await compute(doWork, str); print(result); } String doWork(String value) { print('new isolate start'); sleep(Duration(seconds: 3)); print('new isolate end'); //当前isolate执行完毕,将值返回 return 'complete:$value'; }