问题
是否一再将Message
个对象发布到Handler
被认为可以接受?我正在使用这种机制在多次发生回调之后等待一段延迟。
背景
我有一个具有相当复杂视图的ListView。每个视图都有一些文本组件和一个相当大的ImageView。我正在尝试在滚动时解决一些混乱。
我已将其转换为使用绘图缓存来减少虚假绘图。我添加了一种机制,用于在ImageView中延迟Bitmap的加载,直到滚动停止。
此机制使用ListView OnScrollListener.onScroll(...)
(因为我发现onScrollStateChanged(...)
不可靠)。每当onScroll
触发时,我会在删除相同类型的现有消息后使用Message
向Handler
发布postDelayed(message, 200)
。
结果是一堆帖子并移除到Handler
,当最终得到处理时,所有图像都被加载。我想知道重复发布和删除处理程序中的消息是否会导致问题?我还没打过一个,但如果有替代方案,我想听听。
答案 0 :(得分:0)
在系统繁忙之前,添加和删除邮件的成本并不高。然后它变得不可靠,因为主线程会被束缚。相反,我切换到需要通知的组件的开启机制,这似乎缓解了很多问题。