将drawable从web文件格式加载到drawable,而不是使用位图Android

时间:2014-08-27 15:43:20

标签: android bitmap out-of-memory android-drawable android-bitmap

我有一个小问题。我试图从网上动态加载图片(Jpeg,PNG等)并在我的Android应用中显示它们。这种方法有99%的时间可以使用。但是,有时图像往往太大,位图会通过可用内存并导致OutOfMemoryExceptions

我发现,即使3000px乘3000px Jpeg可能只有200千字节,生成的位图也可能是几百兆字节。有没有办法将Web上的Jpeg / PNG文件加载到drawable中而不先转换为位图?

1 个答案:

答案 0 :(得分:1)

在android中使用位图有点棘手,我强烈建议您阅读android开发者网站的THISTHIS链接,以便更好地了解如何有效地将位图加载到内存中。 您还可以使用Universal Image Loader库,它是非常强大且可插入的库。 它负责将位图有效地加载到内存中,并且有很多配置供您使用。它还可以从网上下载图像。

  • 您可以为其设置内存或光盘缓存。同时指定缓存大小的数量。
  • 您可以为您提供自定义图片下载程序,以备您需要身份验证时使用。
  • 您可以为缓存文件设置FileNameGenerator。
  • 您可以设置考虑ExifParams。
  • 设置图像比例类型
  • UIL可以根据其ImageView容器大小从文件加载位图。所以你有更好的内存管理。而不是加载大尺寸图像,它将在ImageView大小上加载缩小版本的图像。

并且丢失了其他选项