颤动的重型平台代码导致UI滞后
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了颤动的重型平台代码导致UI滞后相关的知识,希望对你有一定的参考价值。
我正在使用MethodChannel.invoke
调用一些平台代码来返回应用程序图标作为Uint8List
s。这发生在设备上所有应用程序的列表中(可能非常多),在FutureBuilder
中显示为ListView.builder
s。
当在ListView
中快速滚动时,这会导致很多口吃,因此我更改了它,以便在显示ListView之前预先加载所有应用程序图标。这修复了滚动,但在加载图标时UI非常笨拙。
我相信问题可能与this issue相同,我不应该像现在这样在UI线程上加载图标。但是,看看docs for compute
,我认为我不能用它来调用平台代码。
还有另一种方法可以避免UI滞后吗?
答案
pskink建议使用HandlerThread
就可以了!即使没有预加载,我现在也可以流畅地滚动。
以上是关于颤动的重型平台代码导致UI滞后的主要内容,如果未能解决你的问题,请参考以下文章