2016-06-08 61 views
1

我在我的應用程序中使用sqlite數據庫,現在我想允許用戶自定義背景圖像,使他們能夠從他們的畫廊中選擇一個。將圖像存儲在應用程序內存中的最佳方式是什麼?

我應該只存儲圖像的路徑,並簡單地每次引用它,或者我應該如何將圖像傳輸到一些文本並將其完全存儲在我的數據庫?第二個選項防止從圖庫中刪除照片。但我想知道最合適的做法。

+1

爲什麼人們不停地投下這樣的問題?它出什麼問題了?想知道更多是否是犯罪? – Marat

+0

可能因爲您可以自己找到答案,因爲關於該主題已經有很多討論了? – Mono

+0

但是,我對此並不熟悉,有時很難理解馬上討論的內容。我想我並沒有問「爲我解決」這個問題。我很好奇理論和理解概念。 – Marat

回答

3

SQLite的遊標限制爲1Mb。所以,你可能無法將它完全存儲在數據庫中,當你去請求時可能會被截斷。將路徑存儲到數據庫表中的圖像,並以此方式訪問它。

+0

謝謝你的幫助。儘管我的問題是downvoted,你決定回答我:) – Marat

3

您不會將它作爲文本存儲。將它作爲blob存儲到數據庫中。在我看來,這是要走的路(如果你使用SQLite)。

如果您有較大的圖像,請將存儲路徑存儲到數據庫,而不是將圖像存儲到數據庫。

+0

謝謝你的幫助。儘管我的問題是downvoted,你決定回答我:) – Marat

2

我認爲這將是更好地節省後臺的唯一路徑,你就不會被圖像

+0

謝謝你的幫助。儘管我的問題是downvoted你決定回答我:) – Marat

2

在我看來大小的限制,保存自定義的背景圖片的最佳方式是複製它進入您的應用程序的internal storage (private storage)。如果僅存儲文件的路徑,則一旦用戶刪除文件,文件就不可用。 The official docs說關於內部存儲是:

  • 它始終可用。
  • 此處保存的文件默認只能由您的應用訪問。
  • 當用戶卸載您的應用程序時,系統會從內部存儲中刪除所有應用程序的文件。
+0

是的,那更好。 – Fustigador

相關問題