处理自定义列表适配器的getView()方法中的繁重处理

时间:2013-12-30 09:39:50

标签: android performance android-listview

我的问题很简单,我有一个自定义ListView与自定义适配器..在适配器getView()方法我需要一些繁重的处理来推断实际的UI值?

这使得滚动可怕......我正在使用所有指南

使用循环视图..使用ViewHolder设计模式

此处理不是网络操作或数据检索 他们只是一些循环和东西 如何阻止它破坏我的滚动平滑度?

不确定线程​​是否可以作为答案,因为UI值和处理取决于该处理的结果。

修改 我已经处理了处理问题..现在已经在后台完成了.. 我现在的问题是听众.. 我有一个EditText和Spinner ..它们被初始化为一个值而不是默认值

听众经常被解雇他们正在搞砸滚动......

1 个答案:

答案 0 :(得分:1)

首先,你绝不应该在UI线程方法中进行繁重的处理。不幸的是,getView()是一种典型的UI线程方法。

其次,使用工作线程进行繁重的处理,然后在处理完成后刷新项目视图。

第三,如果您想进一步提高滚动性能,请在停止时停止刷新UI。