所以,我一直在研究使用位图工厂进行位图缩放。
http://developer.android.com/training/displaying-bitmaps/load-bitmap.html
我这样做是因为我正在处理的应用程序需要一个允许用户提交照片以添加到图库的图库。然后将从URL中读取这些照片。
我的理论问题是:考虑到Android设备可以拥有低至16MB的内存,即使缩小图像也只是延迟不可避免的事情,除非只处理单个图像。而在我的情况下,将加载的图像数量可能是数百。意思是即使它们缩小了,最终也会达到这个限制。
到目前为止,我唯一的想法是一次加载一张图片,这是不可取的,因为用户必须在照片转换之间等待。
话虽如此,是否有人在Android上开发处理100个图像的应用程序?如果是这样,有没有任何理论可以分享处理所有这些图像流畅?显然可以这样做,因为有可用的图库应用程序。我只是不确定他们是如何在限制条件下完成它的。
请注意,这不是关于如何使用位图工厂来缩放图片的请求,因为该问题已被多次回答。
处理您知道的数据量的请求将超出限制。
答案 0 :(得分:1)
gallary apps不应该将所有数千个图像存储在内存中。使用Viewholder模式,以便显示的图像视图将被回收(如果您使用RecyclerView,这将被强制使用)。在后端使用图像缓存并对其大小进行限制。
参见例如What is the benefit of ViewHolder?和How to release memory of bitmap using imageloader in android?
Android gallary应用源可能是一个很好的参考:https://android.googlesource.com/platform/packages/apps/Gallery/+/android-5.1.1_r18/src/com/android/camera