我正在制作一个应用程序,在该应用程序中,我从相机拍照并通过在 ByteArray 中压缩保存在数据库中,但我已经读过,如果有各种大量图像,则应用程序的处理速度可能会因从数据库中读取图像而变慢,所以什么最好存储图像(在内存或 sdcard 中)并在 ListView 中显示?
谢谢
我正在制作一个应用程序,在该应用程序中,我从相机拍照并通过在 ByteArray 中压缩保存在数据库中,但我已经读过,如果有各种大量图像,则应用程序的处理速度可能会因从数据库中读取图像而变慢,所以什么最好存储图像(在内存或 sdcard 中)并在 ListView 中显示?
谢谢
将图像保存到您的 SD 卡。最好的方法是使用 ImageCache。
在您的数据库中存储图像会减慢您的查询速度,并且总体上通常是一个坏主意。
也看到这个SO 问题。
最好的方法是将图像存储在带有单独文件夹的 SD 卡中。(使用内部存储器不会有帮助,因为它会占用安装其他应用程序所需的空间。)
每次加载应用程序时,请阅读文件夹的内容并填充您的列表。您不需要为它维护单独的数据库。使用缓存位图来获得更好的代码性能。
最佳实践将根据我的意见
catch(Exception e)
子句不会捕获它。将图像存储在任何数据库中都是一个坏主意,缓慢会占用更多空间等。我所知道的最佳选择是将这些图像的路径或链接存储在数据库中,并将实际文件存储在一些存储设备(如 sdcard 或内部存储设备)上,如果这些图片很大的话或者会占用大量空间,我会将它们放在 sdcard 上。