Android存儲方式的選擇

程序運行的空間是內存,通常我們需要的對象在內存中被創建,然後由處理器使用內存得到運行的結果,輸出給我們看。這就是一般意義上的程序,不過這樣的程序中所有的可變參數都需要我們手動輸入,當程序結束之後,除非我們的大腦記住了這個結果,否則在現實世界不會產生任何的效應。爲了保存程序的運算結果,便需要將數據置入永久性的存儲設備——外部存儲裝置。


在Android開發中,常用的存儲方式有外部文件、數據庫和網絡存儲,每種存儲方式因其不同的特點和使用限制,在應用程序的開發中各自擁有重要的地位。


首先是外部文件,這是我們最常用的數據存儲方式,小到保存參數的配置,大到操作系統的升級包,都是以文件的方式寫入外部存儲裝置的。在Android中,這種存儲類型叫File,在操作文件時,會不可避免的出現文件找不到或者路徑不存在的異常,並且編譯器在編譯時會檢查這些問題,並提醒我們處理這些異常。


其次是數據庫存儲,一般在服務端用數據庫存儲方式的比較多,不過隨着手機存儲空間的日漸裕餘,開發的程序也具有越來越多的離線功能,這些離線功能中數據的獲取來源通常就是數據庫。即便不考慮離線功能,很多可供持續使用的數據也不需要每次都計算生成或者從服務器獲取,存入數據庫,然後取得是較爲方便的做法。


最後是網絡存儲,狹義上的網絡存儲在客戶端用的較少,畢竟不是每個人都想把自己的東西放到網絡上去,不僅耗時,而且不便於離線使用。廣義上的網絡存儲使用的則很頻繁,甚至已經超過了外部文件,成爲了最常用的存儲方式。譬如保存自己的帳號信息,上傳自己的遊戲記錄等等。


這幾種存儲方式都能存取數據,共同點就不多說了,下面主要說說它們之間的不同特點:

1)外部文件,獨特之處在於無論文件的格式,皆可存儲,使用沒什麼限制,只要你有足夠的存儲空間即可。缺點是每次讀取都需要將整個文件讀入內存,在毋須用到整個文件的時候很浪費資源,而且存取速度不是很快。

2)數據庫,優點是存取速度快,對於複雜有規律的數據顯得特別實用,尤其是需要隨機查詢和取得部分數據的時候,數據庫比之文件有着巨大的優勢。缺點是java操作數據庫需要驅動,當文件雜亂不成體系時,存取則不是很方便。

3)網絡,優點是完全不受本地存儲的各種限制,其實,網絡存儲本質上還是外部文件或數據庫存儲,只不過是客戶端的數據經由網絡,交由網絡服務器來存儲,這種存儲相比個人的本地存儲而言比較穩定。缺點是數據上傳限制多,存取速度取決於網速,但絕不會快於本地存取。


隨着互聯網的不斷髮展,到底哪種存儲方式較好也是不斷變化的,只能根據自己的需求,理性分析,選擇最適合自己的數據存儲方式。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章