Android将图像保存到SQLite或SDCard或内存

nil*_*ile 15 sqlite android

我需要从服务器获取图像和其他一些数据,然后在列表中显示它.但由于记录数量可能非常大,所以我不确定是否应将图像保存到SQLite数据库或将其保存到SDCard或将其保存到内存中.

谢谢,没有

Sha*_*mam 18

始终养成保存图像数据库路径的习惯.对于列表视图,请确保只使用这些图像的缩略图.这将有助于您快速加载列表中的这些图像.

 long selectedImageUri = ContentUris.parseId(Uri.parse(anniEntry.getUri()));
 Bitmap bm = MediaStore.Images.Thumbnails.getThumbnail(
                    mContext.getContentResolver(), selectedImageUri,MediaStore.Images.Thumbnails.MICRO_KIND,
                    null );
Run Code Online (Sandbox Code Playgroud)

这里anniEntry.getUri()是图像uri.Now,把它放在第二个代码中.我可以根据需要获得微缩图或迷你缩略图


Kur*_*aum 12

通常认为将二进制数据保存为数据库中的图像是不好的形式.在大多数情况下,由于某些技术原因,它实际上最终会损害数据库的性能.而是将要缓存的图像保存到SD卡,并将这些图像的文件路径存储在数据库中.

  • 如果图像在内部存储中,则只能由您的应用访问(这意味着用户无法删除它们).如果将它们存储在SD卡上,则需要编写代码,以便处理用户删除图像的情况.看看这个如何使用内部存储:http://developer.android.com/training/basics/data-storage/files.html (2认同)