我在移动项目中使用IconItemRenderer。我在课堂上放了一些日志,并注意到在创建视图时,每个项目都调用了layoutContents两次。
我也注意到show事件也会为视图触发两次。
这显然效率低下。我不认为这是我做过的任何事情(我小心不要修改像creationComplete和viewActivate这样的事件中的属性),但我可以防止重复工作吗?
答案 0 :(得分:2)
将为dataProvider的每个可见元素创建一次itemRenderer。因此,请确保您不会混淆不同的dataProvider实例。听起来你已经涵盖了这一点。
从移动itemRenderer的updateDisplayList()方法调用layoutContents()方法。 updateDisplayList()可能在组件的“生命周期”期间被大量调用。您必须逐步完成整个组件生命周期才能确切了解正在发生的事情。 More information here。
您必须弄清楚显示列表无效的内容,强制updateDisplayList()再次执行。
这是否会给应用程序带来不足之处,可以解释。它取决于updateDisplayList()/ layoutContents()方法中发生的事情。