If I do this, for example:
FutureBuilder(
initialData: null,
future: compute(expensiveParsingOperation, data),
builder: (context, snapshot) {
if(!snapshot.hasData){
// This doesn't spin (frozen). The entire UI is janked until the expensive operation future completes.
CircularProgressIndicator();
}else {
Container();
}
});
I expected the above to send expensiveParsingOperation
function to a web worker or something and not jank the main thread, but this is not what is occurring in my observation.