照片存储的最佳做法

问题描述 投票:1回答:3

我想制作一个与Instagram相同外观的Android应用程序,这意味着每个配置文件都有一个照片库。

我的问题是关于存储和检索这些照片。我想知道数据库(MySQL)中照片存储的最佳实践是什么,更确切地说:

  • 我应该存储原始尺寸的照片(例如2mb)还是调整尺寸较小的照片?
  • 我应该用两个版本(较小尺寸的照片和正常尺寸的照片)存储它们吗?
android storage photos
3个回答
0
投票

在数据库中保存图像看起来有点矫枉过正,不需要它。保存在磁盘上应该没问题。

虽然您应该专注于您的业务逻辑,并将其留给图像库,这些图像库可以完成这些工作,并且最适合内存和性能。

一些着名的图书馆是:

几乎每个库都会为您做很多事情,例如:

  • 在内存缓存(LRU Cache)中 - 这样就不会阻止UI线程从磁盘执行I / O操作
  • 磁盘高速缓存 - 为了保存图像以供进一步的应用程序会话,当内存高速缓存达到其限制时,必须从中逐出它。,您可以指定磁盘高速缓存大小。
  • 各种图像缩放策略
  • 图像变换
  • 清除位图以释放内存
  • 后台线程上的网络操作
  • 后台线程管理等等..

我的建议是使用其中一个图像库


0
投票

我认为最好的做法是将照片存储在数据库中。在数据库中,您可以将照片的链接/位置存储为照片的URL。关于较小尺寸的照片,它取决于您要完成的任务,因为现在您需要更多的空间来支付并且可能更少的带宽,因为您可以放置​​缩略图并让它仅在用户点击时加载原始大小。所以这一切都取决于你想要实现的目标和方式


0
投票

存储图像的最佳实践是将它们作为文件缓存,而不是将它们保存在数据库中。您可以将它们保存为sql db中的blob,但它们应该小于32px乘32px以使事情顺利进行。其他所有内容都应保存为文件。让我举一个WhatsApp的例子。 WhatApp将大部分图像缓存为文件,并仅将像素化缩略图保存在数据库中。

© www.soinside.com 2019 - 2024. All rights reserved.