【问题标题】:What is the best way to store the image in the memory of app?将图像存储在应用程序内存中的最佳方法是什么?
【发布时间】:2016-06-08 16:49:25
【问题描述】:

我在我的应用程序中使用 sqlite db,现在我想允许用户自定义背景图像,使他们能够从他们的图库中选择一个。

我应该只存储图像的路径并每次都简单地引用它,还是应该如何将图像转换为一些文本并将其完全存储在我的数据库中?第二个选项可防止从图库中删除图片。但我想知道最合适的方法。

【问题讨论】:

  • 为什么人们一直拒绝投票这样的问题?它出什么问题了?想知道更多是犯罪吗????
  • 可能是因为已经有很多关于该主题的讨论,您自己可以找到答案?
  • 但是,我是新手,有时很难立即理解讨论中的内容。我想我不是在问“为我修复它”类型的问题。我对理论和理解概念很好奇。

标签: android sqlite


【解决方案1】:

SQLite 的游标限制为 1Mb。因此,您可能无法将其完全存储在数据库中,当您去请求时,它可能会被截断。将图像的路径存储在数据库表中,然后以这种方式访问​​它。

【讨论】:

  • 感谢您的帮助。尽管我的问题被否决了,但你还是决定回答我:)
【解决方案2】:

您不会将其存储为文本。将其作为 blob 存储到您的数据库中。在我看来,这是要走的路(如果你仍然使用 SQLite)。

如果您有大图像,则将路径存储到存储空间,而不是将图像存储到数据库。

【讨论】:

  • 感谢您的帮助。尽管我的问题被否决了,但你还是决定回答我:)
【解决方案3】:

我觉得最好只保存背景的路径,不会被图片大小限制

【讨论】:

  • 感谢您的帮助。尽管我的问题被否决了,但您还是决定回答我:)
【解决方案4】:

在我看来,保存自定义背景图像的最佳方法是将其复制到应用程序的internal storage (private storage) 中。如果您仅存储文件的路径,则一旦用户删除该文件,该文件将无法使用。 The official docs关于内部存储的说法是:

  • 它始终可用。
  • 默认情况下,只有您的应用可以访问此处保存的文件。
  • 当用户卸载您的应用时,系统会从内部存储中删除您应用的所有文件。

【讨论】:

  • 是的,这样更好。
猜你喜欢
  • 2013-05-23
  • 1970-01-01
  • 2011-02-27
  • 2020-11-23
  • 2013-02-04
  • 2019-02-13
  • 1970-01-01
  • 2020-02-29
  • 1970-01-01
相关资源
最近更新 更多