提高viewpager内图像的绘制速度

时间:2014-08-01 12:10:12

标签: android performance uiimageview

我正在使用viewpager向用户显示静态信息,包括textviews,imageviews等。现在,当我将图像包含到viewpager中时,我的viewpager扫描并不是很流畅。所以我使用层次结构查看器来检查绘制图像所需的时间。要仅绘制一个图像(文件类型:JPG,文件大小:40kB),实际绘制它需要50多秒。因此,每次重新绘制屏幕时(在向用户扫描的过程中),完全重绘屏幕需要50ms以上,我怀疑是“滑动延迟”的罪魁祸首。

有人知道提高图像绘制速度的方法吗?我在这里搜索了主题,但找不到我问题的明确答案。

提前致谢!!

2 个答案:

答案 0 :(得分:0)

实现图像加载器以在viewpager中加载图像将提高滚动速度try This

答案 1 :(得分:0)

如果所有图像都存储在本地,那么在布局中绘制它们时,请在Pager Adapter的OnDraw()方法中编写代码。它不会花费任何时间。

调用onDraw()使用此

在onDraw函数中调用此方法:  protected void onDraw(Canvas canvas){           drawyourImages(帆布); }

每次刷新UI时,都会调用onDraw函数。触发UI刷新。只是使您的自定义视图无效。例如

mCustomerView.invalidate();

OR

如果您的图像来自服务器,则使用AQuery / Picasso或任何图像加载库在onDraw()方法中加载图像。在调用onDraw()之前,您必须使视图无效。要使视图无效,您应该调用 mCustomerView.invalidate(); 在viewpager swipe方法监听器中。