【问题标题】:Android Image Gallery Memory Use TheoryAndroid Image Gallery 内存使用理论
【发布时间】:2015-09-20 11:01:56
【问题描述】:

所以,我一直在研究使用位图工厂进行位图缩放。

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

我这样做是因为我正在开发的应用程序需要一个图库,允许用户提交他们的照片以添加到图库。然后将从 URL 读取这些照片。

我的理论问题是这样的:考虑到 android 设备可以有低至 16MB 的内存,即使缩小图像也只会延迟不可避免的事情,除非只处理单个图像。而在我的情况下,将加载的图像数量可能是数百个。这意味着即使它们按比例缩小,最终也会达到该限制。

到目前为止,我唯一的想法是一次加载一张图像,这是不可取的,因为用户必须在照片转换之间等待。

话虽如此,有没有人有在 android 上开发处理 100 张图像的应用程序的经验?如果是这样,您是否可以分享任何关于流畅处理所有这些图像的理论?这显然可以完成,因为有可用的图库应用程序。考虑到这些限制,我只是不确定他们是如何做到的。

请注意,这不是关于如何使用位图工厂来缩放图像的请求,因为该问题已被多次回答。

您知道处理数据量的请求会超出限制。

【问题讨论】:

    标签: android bitmap gallery


    【解决方案1】:

    图库应用不应将所有数千张图像都存储在内存中。使用 Viewholder 模式,这样显示的图像视图将被回收(如果您使用 RecyclerView,这是强制执行的)。在后端使用图像缓存并限制其大小。

    参见例如What is the benefit of ViewHolder?How to release memory of bitmap using imageloader in android?

    Android 相册应用源可能是一个很好的参考:https://android.googlesource.com/platform/packages/apps/Gallery/+/android-5.1.1_r18/src/com/android/camera

    【讨论】:

      猜你喜欢
      • 2012-02-22
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 2011-10-14
      相关资源
      最近更新 更多