我正在使用MethodChannel.invoke
调用一些平台代码来返回应用程序图标作为Uint8List
s。这发生在设备上所有应用程序的列表中(可能非常多),在FutureBuilder
中显示为ListView.builder
s。
当在ListView
中快速滚动时,这会导致很多口吃,因此我更改了它,以便在显示ListView之前预先加载所有应用程序图标。这修复了滚动,但在加载图标时UI非常笨拙。
我相信问题可能与this issue相同,我不应该像现在这样在UI线程上加载图标。但是,看看docs for compute
,我认为我不能用它来调用平台代码。
还有另一种方法可以避免UI滞后吗?
pskink建议使用HandlerThread
就可以了!即使没有预加载,我现在也可以流畅地滚动。