在Android中将图像保存在数据库中的缺点是什么?

在Android中将图像保存在数据库中的缺点是什么?,android,Android,我正在制作一个应用程序,其中我从相机中拍摄了一张照片,并通过压缩ByteArray将其保存在数据库中,但我已经了解到,如果存在大量图像,则从数据库中读取图像可能会使应用程序的处理速度变慢,那么存储图像的最佳方法是什么(在内存或SD卡中)并在ListView中显示 谢谢在任何数据库中存储图像都是一个坏主意,速度慢会占用更多空间等。我知道的最佳选择是在数据库中存储指向这些图像的路径或链接,并将实际文件存储在某些存储中,如SD卡或内部存储,如果这些图片很大或占用大量空间,我会将它们放在SD卡上。将图像

我正在制作一个应用程序,其中我从相机中拍摄了一张照片,并通过压缩ByteArray将其保存在数据库中,但我已经了解到,如果存在大量图像,则从数据库中读取图像可能会使应用程序的处理速度变慢,那么存储图像的最佳方法是什么(在内存或SD卡中)并在ListView中显示


谢谢

在任何数据库中存储图像都是一个坏主意,速度慢会占用更多空间等。我知道的最佳选择是在数据库中存储指向这些图像的路径或链接,并将实际文件存储在某些存储中,如SD卡或内部存储,如果这些图片很大或占用大量空间,我会将它们放在SD卡上。

将图像保存到SD卡上。最好的方法是使用ImageCache


将图像存储在数据库中会降低查询速度,总体而言,这是个坏主意


也可以看到这一点。

最好的方法是将图像存储在SD卡中,并使用单独的文件夹。(使用内存不会有帮助,因为它会占用安装其他应用程序所需的空间。)

每次加载应用程序时,读取文件夹的内容并填充列表。您不需要为它维护单独的数据库。用于提高代码的性能

最佳实践将根据我的意见

  • 确保缓存使用,这样可以确保不会耗尽内存,并且始终可以以丢失旧位图的“代价”加载新位图
  • 使用Canvas的drawBitmap方法将大型位图绘制得更小
  • 请确保您防止并注意到它是Throwable的子类,而不是Exception的子类,因此
    catch(Exception e)
    子句将不会捕获它