我正在使用Picasso从Url加载大约250-500 Kb(1600x~1200)的JPG到ImageView。
Picasso.with(getApplicationContext())
.load(stringURL)
.placeholder(R.drawable.holder).error(R.drawable.holder)
.into(image)
我的ImageView:
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerInParent="true"
android:layout_marginTop="0dip"
android:adjustViewBounds="true"
android:cropToPadding="false"
android:scaleType="fitCenter"
/取代;
问题是图像的第一次加载非常慢(大约20秒),cpu消耗很高,所以内存分配也是如此。 例如,LogCat显示单个图像的“将堆(脆片大小写)增加到56.789(7601812字节分配)”。
是否与图像缓存有关?有一种方法可以禁用缓存并直接将原始图像下载到ImageView中吗?
将相同的图像从iPhone下载到双应用程序即时......
答案 0 :(得分:3)
如果您使用fit()
或resize()
来解决问题。我目前将数百个非常大的jpg文件加载到一个GridLayout
中并且没有任何问题。
答案 1 :(得分:0)
我转向了凌空。现在加载相同的图像只需要一小部分时间。