0

问题

重复发布和删除Message对象是否Handler可以接受?我正在使用这种机制在多次发生回调后等待一定的延迟。

背景

我有一个具有相当复杂视图的 ListView。每个视图都有一些文本组件和一个相当大的 ImageView。我正在尝试解决滚动时的一些抖动问题。

我已经将它转换为使用绘图缓存来减少虚假绘图。我添加了一种机制,用于延迟 ImageView 中位图的加载,直到滚动停止。

这种机制使用ListView OnScrollListener.onScroll(...)(因为我发现onScrollStateChanged(...)不可靠)。每当onScroll发生火灾时,我都会在删除相同类型的现有消息后发布Message一个Handler使用。postDelayed(message, 200)

结果是一堆帖子并被删除Handler,当一个最终被处理时,所有图像都被加载。我想知道从 Handler 重复发布和删除消息是否会导致问题?我还没有打过,但如果有其他选择,我想听听。

4

1 回答 1

0

在系统变得繁忙之前,添加和删除消息的成本并不高。然后它变得不可靠,因为主线程会被捆绑绘图。相反,我为需要通知的组件切换到开关机制,这似乎缓解了很多问题。

于 2013-02-22T01:56:16.117 回答