颤动的重型平台代码导致UI滞后

问题描述 投票:2回答:1

我正在使用MethodChannel.invoke调用一些平台代码来返回应用程序图标作为Uint8Lists。这发生在设备上所有应用程序的列表中(可能非常多),在FutureBuilder中显示为ListView.builders。

当在ListView中快速滚动时,这会导致很多口吃,因此我更改了它,以便在显示ListView之前预先加载所有应用程序图标。这修复了滚动,但在加载图标时UI非常笨拙。

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

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

android flutter dart-isolates
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.