Collection / Table View 更新or切换 Cell 时出现闪烁的问题
因为这两个组件都能很好的优化内存,会把视线以外的cell闲置掉,再预加载将要缓存的内容,大概类似下图示意:
image.png
- 当屏幕一开始加载时,屏幕能放下几个cell,就会新建几个cell出来 (滑动时多出来的部分也会及时创建cell)
- 当屏幕往上滑动时,顶部超出的cell不会被回收,而是放在缓存里面,等待再次使用,而底部出现新内容时,缓存的cell就会被重新利用上,在这里如果是collection cell,不会再次调用 initWithFrame, table cell会。
- 闪烁出现的情况其实就是cell没有被重置而显示的内容没有被及时加载出来导致的。
这时候需要在重置时及时清理掉图片,之后加载就可正常显示了。