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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了颤动的重型平台代码导致UI滞后相关的知识,希望对你有一定的参考价值。

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

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

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

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

答案

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

以上是关于颤动的重型平台代码导致UI滞后的主要内容,如果未能解决你的问题,请参考以下文章

来自 CUDA 代码的 100% GPU 使用率导致屏幕滞后

Android中切换标签片段之间的延迟

缓慢颤动的 GridView

ProGuard 导致应用滞后

绘图功能导致应用程序滞后

调整大小导致滞后的高度检查