要存储在缓存中的图像数组?

Array of images to store in cache?

我正在使用 cards (cardView) 并尝试将图像存储在数组中(数组到字符串;将其存储在缓存中,并在需要时解压回数组)。我的问题是:将图像存储在数组中最方便的方法是什么?

存储位图(bitmapToString 等)?将位图(我从画廊和相机中获取图像)转换为 URI?绝对路径?

图像的数量很少(3-4),所以,我想,没有必要在数据库中。

Android Bitmap 对象不适合存储在 Java 数组中 - 它们是非常大的对象,因此您 运行 存在 OutOfMemoryException.一不小心就很容易造成内存泄漏。

如果您必须从图库中获取一些照片作为 Bitmap 并将它们保留在您的应用程序中,通常使用的一种模式是将 Bitmap 写入应用程序的内部存储(覆盖 here.

如果您需要对已存储照片的引用,您可以保存文件名或代表照片或图像的 Uri

然后将 Bitmaps 等加载到 ImageView 中的问题已通过 Picasso or Glide 等库解决。您可以使用它们从本地文件系统或在线加载。