3

有没有人能够在旧设备上测试 Volley?

我有一个具有单核 800mhz cpu 的 ZTE Blade。

我发现 Volley 只会在加载图像之前等待 4-5 秒甚至更长时间,即使它们已经在磁盘上。

相同的代码在我的 Galaxy S2 和 Xoom 上速度绝对快。

我使用了 Universal-Image-Loader,它在旧设备上没有问题,一切都很快。

不太确定如何调试。

我什至深入了解了内部结构,甚至从位图解码中删除了同步对象,但绝对无济于事。

我有一个要发布的新应用程序,并且由于性能太差而不得不在没有前 ICS 支持的情况下发布。

4

1 回答 1

8

Volley 中 ImageLoader 的行为似乎针对缩略图的“页面”进行了调整,而不是针对更长或连续的流。为此,来自 ImageLoader 的响应实际上在交付之前会延迟/成批。因此,准备好的图像不会尽快交付,以实现某种页面加载美感,在 Google I/O 演讲中曾简要提及。

http://www.youtube.com/watch?v=yhv8l9F44qo

您可以使用以下内容删除此行为

mImageLoader = new ImageLoader(mQueue, imageCache);
mImageLoader.setBatchedResponseDelay(0);

我不确定为什么这会在一天结束时导致任何问题,因为它只是延迟 100 毫秒,而且我不认为它会根据新内容的到来延长延迟,但会继续调查和报告回到我发现的任何其他东西上。但这确实修复了旧设备的响应能力,而新设备当然仍然很糟糕。

于 2013-06-11T02:50:49.583 回答