我的应用程序在附近执行许多UI更新,例如:
。
为了使每个更新都对用户可见,我将每个更新任务添加到非UI线程上的Handler中。然后将这些Adapter的notifyDataSetChanged()任务添加到UI线程的处理程序中。
但是,让每个更新清晰可见的唯一方法是在调用更新后指定一个Thread.sleep()。即使有了这种睡眠,有时也会将2和3合并在一起,用户只会看到3。
此外,当执行3时,有时需要额外的一秒钟时间来更新整个网格。因此,用户将看到4,而不是网格的3次干净更新。
据我所见,我正在执行编程指南推荐的Handler功能。因此,我想知道我还能做些什么来更好地控制UI更新的时间?有什么我能做的吗?
发布于 2012-03-06 18:14:41
上面的dmon已经回答了这一点。解决方案包括在我在适配器中调用GridView.post()之后,将一个Runnable发布到notifyDataSetChanged ()。游戏运行速度比以前稍慢,但至少所有UI操作都正确呈现。
https://stackoverflow.com/questions/9506390
复制相似问题