我正在使用MethodChannel.invoke调用一些平台代码以将应用程序图标返回为Uint8Lists。这发生在设备上所有应用程序的列表中(可能非常多),在aFutureBuilder中显示为ListView.builders。
这会导致在ListView中快速滚动时出现很多停顿,因此我更改了它,以便在显示ListView之前预加载所有应用程序图标。这修复了滚动,但在加载图标时,UI非常不稳定。
我相信问题可能与this issue相同,我不应该像现在这样在UI线程上加载图标。但是,看看docs for compute,我认为我将无法使用它来调用平台代码。
还有其他方法可以避免用户界面延迟吗?

最佳答案

pskink的建议使用了一个HandlerThread的技巧!现在即使没有预加载,我也可以平滑滚动。

关于android - flutter 的重型平台代码导致UI滞后,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54508965/

10-11 14:33