內部儲存 外部儲存

2021-07-03 12:21:22 字數 1943 閱讀 6055

內部儲存┐

系統儲存├─物理位置是位於手機內部的非易失性儲存器上,就是俗稱的rom

系統快取┘

記憶體 ———物理位置是位於手機內部的隨機儲存器上,就是俗稱的ram

rom相當於電腦硬碟,斷電後依然能夠儲存資料

ram相當於電腦記憶體,斷電後資料丟失

而android系統是基於linux系統建立的,

她的分割槽結構跟windows不同,沒有c盤d盤的,

系統儲存是、系統快取、內部儲存分別都是不同的分割槽,

每個分割槽的大小是在系統建立的時候就分配好了的,一般人是無法更改的

就相當於系統儲存是windows的c盤,系統快取相當於windows的臨時資料夾

內部儲存就相當於windows的其他盤,

android系統中,

「/」以及「/system」等目錄是用於系統儲存的,(「/」是系統的根目錄)

系統快取是存放在"/cache"下的

內部儲存一般是指使用者可以使用的空間位於"/data"

內部儲存和內建儲存卡 是手機內部的rom,只是把他分成2個區而已,就像電腦只有乙個硬碟可以分成c、d、e、f盤,它是無法擴充套件的。

外接儲存就是tf卡(記憶體卡),可以擴充套件

外部儲存external storage和內部儲存internalstorage

1.內部儲存:

內部儲存空間十分有限,因而顯得可貴,另外,它也是系統本身和系統應用程式主要的資料儲存所在地,一旦內部儲存空間耗盡,手機也就無法使用了。所以對於內部儲存空間,我們要盡量避免使用。shared preferences和sqlite資料庫都是儲存在內部儲存空間上的。內部儲存一般用context來獲取和操作。

android系統能夠直接把檔案存在裝置的內部儲存內。

預設情況下,儲存在內部儲存內的檔案是應用程式私有的,其他應用程式(或使用者)是無法訪問的。

當使用者解除安裝此應用程式時,內部儲存的資料會一併清除。

如果只是要快取一些資料,而不是要持久的儲存它,那麼應該使用getcachedir()方法來開啟乙個file物件,它代表了應用程式要儲存臨時快取檔案的內部目錄。

2.外部儲存:

最容易混淆的是外部儲存,如果說pc上也要區分出外部儲存和內部儲存的話,那麼自帶的硬碟算是內部儲存,u盤或者行動硬碟算是外部儲存,因此我們很容易帶著這樣的理解去看待安卓手機,認為機身固有儲存是內部儲存,而擴充套件的t卡是外部儲存。比如我們任務16gb版本的nexus 4有16g的內部儲存,普通消費者可以這樣理解,但是安卓的程式設計中不能,這16gb仍然是外部儲存。

所有的安卓裝置都有外部儲存和內部儲存,這兩個名稱**於安卓的早期裝置,那個時候的裝置內部儲存確實是固定的,而外部儲存確實是可以像u盤一樣移動的。但是在後來的裝置中,很多中高階機器都將自己的機身儲存擴充套件到了8g以上,他們將儲存在概念上分成了"內部internal" 和"外部external" 兩部分,但其實都在手機內部。所以不管安卓手機是否有可移動的sdcard,他們總是有外部儲存和內部儲存。最關鍵的是,我們都是通過相同的api來訪問可移動的sdcard或者手機自帶的儲存(外部儲存)。

外部儲存中的檔案是可以被使用者或者其他應用程式修改的,有兩種型別的檔案(或者目錄):

1.公共檔案public files:檔案是可以被自由訪問,且檔案的資料對其他應用或者使用者來說都是由意義的,當應用被解除安裝之後,其解除安裝前建立的檔案仍然保留。比如camera應用,生成的**大家都能訪問,而且camera不在了,**仍然在。

2.私有檔案private files:其實由於是外部儲存的原因即是是這種型別的檔案也能被其他程式訪問,只不過乙個應用私有的檔案對其他應用其實是沒有訪問價值的(惡意程式除外)。外部儲存上,應用私有檔案的價值在於解除安裝之後,這些檔案也會被刪除。類似於內部儲存。

從log中我們可以看到外部儲存根目錄在我手機(nexus 3)上是/storage/emulated/0,奇怪的是在有些手機上同樣的**卻是下面的情況:

部儲存根目錄為/mnt/sdcard.

Android 內部儲存與外部儲存

android.permission.write external storage 注意 目前所有應用都可以讀取外部儲存,而無需特別的許可權。但這在將來版本中會進行更改。如果應用需要讀取外部儲存 但不向其寫入資訊 那麼您將需要宣告 read external storage許可權。android.p...

Android 外部儲存,內部儲存路徑

import android.content.context import android.os.environment import android.util.log public class directoryutils 獲取當前程式路徑 應用在記憶體上的目錄 data data com.exa...

Android內部儲存和外部儲存

一 內部儲存空間中的應用私有目錄 對於沒有 root 過的手機,普通使用者是無法檢視 data data 目錄內容的。不過開發人員可以使用模擬器除錯應用,並通過 ddms dalvik debug monitor server 提供的 file explorer 工具檢視模擬器裝置的儲存空間 get...