android位图有2个问题

时间:2012-12-09 06:06:08

标签: android bitmap

我有一个ListView,大约有50行。每个项目都有一个图像。有时,图像会被下载,但有时,我只是从应用资源中显示特定的图像。

的问题:

  1. 有时我只会显示来自资源的20张图片 所有都是相同的图像。这意味着我只是显示一个图像 20行,都是一样的。是加载一个位图一个拿 每个项目的公羊数量?或者它只是加载图像并显示它 其他项目?

  2. 每个项目的imageview尺寸为100 * 70 dp。所以我想做 在我位图之前重新调整大小或缩小图像dp的东西 他们并在我的应用程序中显示它们,所以我可以减少他们的ram数量 需要。有可能吗?

  3. 由于

1 个答案:

答案 0 :(得分:0)

  

多次显示相同的图像

如果将所有图像设置为相同的Drawable(变量),则从资源中获取,只有1个位图Drawable驻留在RAM中。此外,ListView回收其行,它实际上并不创建20行,所有20个位图都加载到RAM中。

  

设置图像的DPI

BitmapDrawable类可以自动决定DPI进行渲染,这就是它在constructor中请求资源的原因。或者您可以稍后致电setTargetDensity(int)注意:更改DPI与缩放图像不完全相同。

  

加载缩小的图像

这肯定会节省RAM,阅读Answers如何加载缩小的图像。