【发布时间】:2011-08-06 22:55:34
【问题描述】:
我正在寻找一种在 Android Honeycomb 中加速图库视图小部件的好方法。我目前正在使用它来显示一些大约 340 x 600 像素的相当大的图像,我希望它在滚动图像时像黄油一样光滑。
目前它相当快,但它无法与加载带有 ImageViews 的 ScrollView 并滚动浏览相比。
这是我的自定义 BaseAdapter 中 getView() 方法的简化版本:
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = (ImageView) new ImageView(Main.this);
}
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPurgeable = true;
((ImageView) convertView).setImageBitmap(createReflection(BitmapFactory.decodeFile(ImageFile, options)));
convertView.setPadding(20, 0, 20, 0);
return convertView;
}
我一直在尝试延迟加载图像,但我不太喜欢这个结果。
【问题讨论】:
-
当您运行 Traceview 以衡量性能问题所在时,它显示了什么?
-
我很想告诉你,但我无法让 Traceview 在 Eclipse 中工作:(
-
我现在开始工作了。 Traceview 表示每次调用 getView() 需要 52 毫秒,其中 46 到 48 毫秒用于解码图像。请注意,这是在 1.2 GHz 而不是标准 1.0 GHz 的超频平板电脑上运行的,所以我预计默认时钟速度会慢一些。
标签: android widget gallery android-3.0-honeycomb galleryview