ストレージのリソースは、内部メモリー、外部メモリー、クラウドの3つがあります。
外部メモリーは、主にSDカードです。
このSDカードはAndroid端末の世代が進むにつれて、扱いを変えてきました。
リソースとSDカードを主眼に置いたストレージの変遷について、まとめます。
※環境:Android Studio Narwhal | 2025.1.1 Patch 1
目次
ストレージのリソース
Android端末で扱うストレージのリソース(ハードウェア資源)は3つあります。
- 内部メモリー … 端末内に実装されるメモリー(FLASHメモリー)
- 外部メモリー … 外付けされるSDカード(または、USBメモリー)
- クラウド … クラウドサービスが提供する記憶領域
これらのリソース上に構築したファイルシステムを、ストレージとして利用します。
ただし、クラウドは仕組みが異なります。
クラウドは端末とクラウドサービス間に、通信を司るソフトウェアが介在します。このソフトウェアとAndroid APIが協調して、ストレージの環境を提供しています。
また、販売されているAndroid端末は、SDカードスロットのある機種とない機種がありあます。さらに、SDカードの使用はユーザーの意思です。端末のスロットにSDカードが必ず入っているとは限りません。
ですので、外部メモリーは、ある場合とない場合があります。
ストレージの変遷
アンドロイドは世代が進むについてれ、SDカード(外部メモリー)の扱いを変えてきました。。
表はその変遷です。
世代 | 端末メーカーA | 端末メーカーB | ||
---|---|---|---|---|
初期 ↓ | 内部Mem 小容量 | ![]() |
||
・サイズの大きいデータ(カメラで撮影した写真など)はSDカードに記録 ・標準端末の「Nexus One」はこのタイプ |
||||
中期 ↓ | 内部Mem 大容量 (API≧11) | ![]() | ![]() | ![]() |
・メーカ毎にSDカードの実装が異なる ・GoogleはSDカードを実装しない、標準端末の「Nexus/Pixel」はこのタイプ ・メディアファイル(画像・動画)を保存先が、SDカードであったり・なかったり |
||||
最新 | Adoptable Storage (API≧23) | ![]() | ![]() |
|
・Adoptable Storageの導入、SDカードの扱いが切り替え可能 ・GoogleはSDカードを実装しない、標準端末の「Nexus/Pixel」はこのタイプ |
初期:内部メモリー小容量
アンドロイド端末が世の中に販売され始めた頃は、内部メモリーが512MB程度でした。
カメラを使うと、画像ファイルは大きいので、あっという間に内部メモリーを使い切ってしまいます。
ですので、この頃の端末はSDカードスロットを標準で搭載し、サイズの大きなファイル(図中は「メディア」と表現)はSDカードへ保存していました。
ちなみに、私が初めて購入した「スマートフォン:HT-03A(Android 1.5)」は、説明書に以下の文面があります。
... 7.1 カメラを利用する カメラを使用して写真や動画を撮影したり共有したりします。~略~ 始める前に ・カメラを使用する前にmicroSDカードを挿入してください。HT-03Aで撮影した写真または動画はすべてmicroSDカードに保存されます。~略~ ...
つまり、カメラはSDカードの使用を前提にしています。確か、購入した端末に2GBのmicroSDカードが同封されていたように記憶しています。
中期:内部メモリー大容量
内部メモリーが数GB~数十GB程度になり、大きなファイルの扱いに、不自由しなくなりました。
標準端末(Nexus、Pixel)を開発するGoogleと他の端末メーカーで、異なる路線をとり始めます。
Google:SDカード無し
内部メモリーの一部を、写真などのサイズの大きなファイル(図中は「メディア」と表現)の保存に割り当てます。
内部メモリーの一部が初期のSDカードの代わりです。言い換えると、内部メモリーの一部はSDカードをエミュレートした領域です。
この領域を「外部ストレージ」と言ったり、ディレクト名が「/storage/emulated」であるのは、SDカードの代わりであることが、理由かも知れません。
# pwd /storage/emulated/0 # ls -ld * ... drwxrwx--x 2 root sdcard_rw 4096 2025-07-03 00:04 Movies drwxrwx--x 2 root sdcard_rw 4096 2025-07-03 00:04 Music drwxrwx--x 2 root sdcard_rw 4096 2025-07-03 00:04 Notifications drwxrwx--x 2 root sdcard_rw 4096 2025-07-03 00:04 Pictures ... 写真を保存 drwxrwx--x 2 root sdcard_rw 4096 2025-07-03 00:04 Podcasts ... ※エミュレータ(API28)の「adb shell」で確認
ちなみに、「/sdcard」は「/storage/emulated」にリンクされています。アプリからの見たパスは初期と中期で同じです。
# ls -ld /sdcard lrw-r--r-- 1 root root ... /sdcard -> /storage/self/primary # ls -ld /storage/self/primary lrwxrwxrwx 1 root root ... /storage/self/primary -> /mnt/user/0/primary # ls -ld /mnt/user/0/primary lrwxrwxrwx 1 root rese ... /mnt/user/0/primary -> /storage/emulated/0 ※エミュレータ(API28)の「adb shell」で確認 ※「0」はマルチユーザのユーザID
他メーカー:SDカード有り
初期から継続してSDカードの実装を続けます。ただし、SDカードの扱いは端末メーカー毎に様々でした。
メーカーASDカードは画像・動画などのメディア用
SDカードはその他のデータ用
カメラで撮影した写真の保存先が、端末の違いによりSDカードであったり・なかったりと、アプリ開発者を混乱させました。
最新:Adoptable Storage
内部メモリーが数十GB~数百GB程度になり、大きなファイルの扱いに、さらに不自由しなくなりました。
「Adoptable Storage」が導入されました。
Google:SDカード無し
標準端末(Nexus、Pixel)を開発するGoogleはSDカード無しを継続します。
内部メモリーの容量を変えた2タイプの製品を投入し、ユーザの要求に対応する方針を採ります。
他メーカー:SDカード有り
Adoptable StorageはSDカードの使用開始時に、端末のユーザがSDカードの扱い方を決める仕組みです。
選択画面で、次の2つから選択できます。
※詳細は「Adoptable Storage(SDカードの扱い方を指定)」を参照
- ・内部ストレージの容量を追加するイメージ
- ・取り外しを想定しない使い方
- ・外部ストレージの数を追加するイメージ
- ・取り外しを想定する使い方
関連記事: