内部存储:
内部存储不是内存,而是一个位于系统中很特殊的一个位置。放入内部存储中的数据一般都只能被你的应用访问到,且一个应用所创建的所有文件都在应用包名相同的目录下,即/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.