在Android作業系統中,套用的數據存儲位置主要分為內部存儲(Internal Storage)和外部存儲(External Storage)。
內部存儲:
套用安裝包通常存放在`/data/app/`目錄下,每個安裝包的檔案名稱格式為`套用包名.apk`,以避免重複。
套用數據的默認存儲位置是`/data/data/`加上套用的包名,例如`/data/data/com.test.sample/`。
資料庫檔案存儲在`/data/data/`目錄下的`database/`子目錄中。
設定檔案存儲在`/data/data/`目錄下的`shared_prefs/`子目錄中。
自定義的套用數據檔案存儲在`/data/data/`目錄下的`files/`子目錄中。
內部存儲中的檔案默認只能被套用自身訪問,當套用被卸載時,系統會清除internal存儲中的相關檔案。
外部存儲:
外部存儲不一定總是可用,用戶可以選擇將其作為USB存儲模式,此時將無法訪問。
外部存儲允許檔案被其他套用共享或允許用戶通過電腦訪問。
讀取內部存儲不需要許可權,但讀取或寫入外部存儲需要相應的許可權。在Android的某些版本中,即使沒有聲明讀取許可權,也可以實現讀取操作,但未來版本可能會改變這一行為,因此建議根據需要聲明相應的讀取和寫入許可權。
Android還為每個套用創建了一個賬號,只有通過本套用的賬號才有許可權運行該套用的安裝包檔案,讀寫套用數據目錄下的檔案。但是,如果設備具有root許可權,這些許可權限制可以被繞過。