繁重的平台代码导致UI滞后

时间:2019-02-04 00:29:31

标签: android flutter dart-isolates

我正在使用MethodChannel.invoke调用一些平台代码以将应用程序图标返回为Uint8List。发生这种情况的原因是设备上所有应用程序的列表(可能很多),在FutureBuilder中显示为ListView.builder

ListView中快速滚动时,这会导致很多结结,因此我对其进行了更改,以便在显示ListView之前预加载所有应用程序图标。这样可以解决滚动问题,但是在加载图标时,UI显得非常混乱。

我认为问题可能与this issue相同,我不应该像现在那样在UI线程上加载图标。但是,看着docs for compute,我认为我将无法使用它来调用平台代码。

还有另一种方法可以避免UI滞后吗?

1 个答案:

答案 0 :(得分:1)

pskink建议使用HandlerThread达到了目的!现在,即使没有预加载,我也可以流畅滚动。