ストレージのリソース

投稿日:  更新日:

ストレージのリソースは、内部メモリー、外部メモリー、クラウドの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カード(外部メモリー)の扱いを変えてきました。。

表はその変遷です。

世代Google端末メーカーA端末メーカーB
初期
内部Mem
小容量
初期のストレージ構成
・サイズの大きいデータ(カメラで撮影した写真など)はSDカードに記録
・標準端末の「Nexus One」はこのタイプ
中期
内部Mem
大容量
(API≧11)
中期のストレージ構成(Google)中期のストレージ構成(メーカーA)中期のストレージ構成(メーカーB)
・メーカ毎にSDカードの実装が異なる
・GoogleはSDカードを実装しない、標準端末の「Nexus/Pixel」はこのタイプ
・メディアファイル(画像・動画)を保存先が、SDカードであったり・なかったり
最新Adoptable
Storage
(API≧23)
最新のストレージ構成(Google)最新のストレージ構成(メーカー)
・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カードの扱いは端末メーカー毎に様々でした。

 メーカーA 

SDカードは画像・動画などのメディア用

画像・動画などのメディア用

 メーカーB 

SDカードはその他のデータ用

その他データ用

カメラで撮影した写真の保存先が、端末の違いによりSDカードであったり・なかったりと、アプリ開発者を混乱させました。

スポンサーリンク

最新:Adoptable Storage

内部メモリーが数十GB~数百GB程度になり、大きなファイルの扱いに、さらに不自由しなくなりました。

「Adoptable Storage」が導入されました。

Google:SDカード無し

標準端末(Nexus、Pixel)を開発するGoogleはSDカード無しを継続します。

内部メモリーの容量を変えた2タイプの製品を投入し、ユーザの要求に対応する方針を採ります。

他メーカー:SDカード有り

Adoptable StorageはSDカードの使用開始時に、端末のユーザがSDカードの扱い方を決める仕組みです。

選択画面で、次の2つから選択できます。
※詳細は「Adoptable Storage(SDカードの扱い方を指定)」を参照

 ORの左:拡張ストレージ 
  • ・内部ストレージの容量を追加するイメージ
  • ・取り外しを想定しない使い方

拡張ストレージ

 ORの右:個別ストレージ 
  • ・外部ストレージの数を追加するイメージ
  • ・取り外しを想定する使い方

個別ストレージ

スポンサーリンク

関連記事:

Adoptable Storage(API≧23、Android 6.0)が導入されて、SDカードの扱い方をユーザ側で指定できるようになりました。 「Adoptable Storage」について、まとめます。 ※環境:Android Studio Narwhal | 2025.1.1 Patch 1 ...
ストレージはデータの用途別に記憶領域が分けられます。 保存先を守らないと、セキュリティリスクが発生したり、他のアプリと協調した動作が出来なくなったり、します。 ですので、適切な場所へデータを保存しましょう。 今回は「用途別記憶領域とボリューム」について、まとめます。 ※環境:Android Studio Narwhal | 2025.1.1 Patch 1 ...
ストレージへアクセスする方法は、「扱うデータの種類」「アクセス先」「セキュリティの確保」などの要件により、最適なアクセス方法が存在するので、使い分けが必要です。 今回は「アクセスする方法」について、まとめます。 ※環境:Android Studio Narwhal | 2025.1.1 Patch 1 ...
スポンサーリンク