如果我预加载某些图像,在我的应用程序中是有利的.我在AsyncTask中正确执行此操作,因为它是在官方文档中编写的.但是我有一个关于何时应该设置的问题/疑问.
我将展示代码片段.请注意,它已经简化了(它们的互操作性在我的实际代码中更好,它会检查空值等).
让我们先看看原始(非预装)版本:
android:id="@+id/imageViewMyGraphicalImageElement"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="centerCrop"
android:src="@drawable/my_graphical_element" >
预加载版本具有以下XML(请注意缺少src属性):
android:id="@+id/imageViewMyGraphicalImageElement"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="centerCrop">
以及预装代码的片段:
sBitmap = bitmapBitmapFactory.decodeResource(context.getResources(), R.drawable.my_graphical_element, options);
// 'sBitmap' is a Bitmap reference, while 'options' is BitmapFactory.Options
最后,我设置它的地方:
setContentView(R.layout.main);
...
ImageView imageViewMyGraphicalImageElement= (ImageView) findViewById(R.id.imageViewMyGraphicalImageElement);
imageViewMyGraphicalImageElement.setImageBitmap(sBitmap);
题:
显然,基于xml的解决方案在调用setContentView(…)之前知道图像.预加载版本在该调用之后设置图像.有什么区别吗?由于这个原因,是否可以跳过某些自动缩放或系统完成的其他事情?