在做tableview的demo时,cell的数据是用一个子线程从网上下载、解析和填充的。
每个cell还包含了一张图片,也分别用一个子线程下载和更新。
现在的情况是如果下载线程都结束了,滚动时很流畅,保持在50fps左右。如果正在下载,就明显感到有些卡,fps下降到20左右。
看apple的例子,在滚动时都不进行下载,这样性能确实很好,但是等待下载的时间就比较长了。
有什么办法能够让后台线程下载时,不影响主线程的性能呢?设置优先级和减少子线程数有效么?
又或许是切换线程的开销太大(10ms?),而50fps要求每帧总时间不超过20ms?
每个cell还包含了一张图片,也分别用一个子线程下载和更新。
现在的情况是如果下载线程都结束了,滚动时很流畅,保持在50fps左右。如果正在下载,就明显感到有些卡,fps下降到20左右。
看apple的例子,在滚动时都不进行下载,这样性能确实很好,但是等待下载的时间就比较长了。
有什么办法能够让后台线程下载时,不影响主线程的性能呢?设置优先级和减少子线程数有效么?
又或许是切换线程的开销太大(10ms?),而50fps要求每帧总时间不超过20ms?