1. 程式人生 > >內部儲存與外部儲存的區別

內部儲存與外部儲存的區別

內部儲存:

內部儲存不是記憶體,而是一個位於系統中很特殊的一個位置。放入內部儲存中的資料一般都只能被你的應用訪問到,且一個應用所建立的所有檔案都在應用包名相同的目錄下,即/data/data/packagename。創建於內部儲存的檔案,是與這個應用關聯起來的。當一個應用被解除安裝後,內部儲存中的這些資料也被刪除。

外部儲存:

最容易混淆的是外部儲存,如果說pc上也要區分出外部儲存和內部儲存的話,那麼自帶的硬碟算是內部儲存,U盤或者行動硬碟算是外部儲存,因此我們很容易帶著這樣的理解去看待安卓手機,認為機身固有儲存是內部儲存,而擴充套件的T卡是外部儲存。

不是這樣的。

所有的安卓裝置都有外部儲存和內部儲存之分。這兩個名稱來源於安卓的早期裝置,那個時候的裝置內部儲存確實是固定的,而外部儲存確實是可以像U盤一樣移動的。但是在後來的裝置中,很多中高階機器都將自己的機身儲存擴充套件到了8G以上, 他們將儲存在概念上分成了"內部internal" 和"外部external" 兩部分,但其實都在手機內部 。
所以,不管安卓手機是否有可移動的sdcard,他們總是有外部儲存和內部儲存 。

我覺得api中在介紹Environment.getExternalStorageDirectory()方法的時候說得很清楚:
don't be confused by the word "external" here. This directory can better be thought as media/shared storage. It is a filesystem that can hold a relatively large amount of data and that is shared across all applications (does not enforce permissions). Traditionally this is an SD card, but it may also be implemented as built-in storage in a device that is distinct from the protected internal storage and can be mounted as a filesystem on a computer.