[android] Adoptable Storage |
https://source.android.com/devices/storage/adoptable
-
안드로이든 항상 외부 저장 장치(예를 들면 SD card)를 지원했다.
그러나 이 장치들은 전통적으로 단순 파일 저장소로 제한되어 있었고, 비영구성이라는 이유로 전통적인 외부 저장소에는 최소한의 데이터 보호만이 적용되었다.
안드로이드 6.0 (MOS) 에는 external storage 를 internal storage 처럼 작동하도록 하는 기능이 도입되었다.
-
Android 7.0~8.1 에서 FBE 와 adoptable storage 와 함께 사용되지 못한다.
FBE 를 사용중일 때는 새로운 저장 공간 (예를 들면 SD card) 는 반드시 전통적인 저장공간으로만 사용되어야 한다.
Android 9 이상에서는 FBE 와 adoptable storage 를 같이 사용 가능하다.
-
외부 저장소가 삽입되면, 하나의 안드로이드 단말에서만 작동되도록 format 되고 암호화된다.
해당 미디어는 안드로이드 장치에 강력하게 종속되기 때문에, 모든 유저를 위한 앱과 개인 데이터들을 안전하게 보관할 수 있다.
-
유저가 새로운 저장 장치 (예를 들면 SD card) 를 adoptable 위치에 삽입하면, 안드로이드는 어떻게 해당 장치를 이용할지 물어본다.
미디어를 adopt 하기로 하면, format 하고 암호화한다. 만약 그냥 쓰기로 한다면 간단한 파일 저장공간으로서 유지된다. (traditional)
만약 adopt 를 선택하면, platform 은 주 공유 저장 공간(보통 /sdcard 에 mount)의 컨텐츠를 내부 저장공간의 공간 확보를 위해, 새로 추가된 미디어에 migrate 시켜준다.
-
앱은 개발자가 android:installLocation attribute 를 통해 지정한 경우에만 adopted 저장 장치에 저장될 수 있다.
새로 설치할 때는 가장 여유 공간이 많은 저장 공간에 저장을 하고, 유저가 설정 앱을 통해 설치 공간을 이동할 수 있다. (internal <-> adopted).
adopted 장치로 이동된 앱은 장치를 빼낼 때 기억하고 있다가, 다시 설치될 때 사용할 수 있게 된다.
-
이하 생략.
-
Adoptable Storage 의 개념과 장단점을 너무 쉽게 잘 풀어 설명해준 최고의 글
https://www.androidcentral.com/adoptable-storage
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] POS, target SDK 28 이상의 동작 변경 (0) | 2019.07.23 |
---|---|
[Android] 8.1 Feature and APIs (API Level 27) (0) | 2019.07.22 |
[android] File-Based Encryption & Direct Boot mode (0) | 2019.07.08 |
[RxJava] #8 테스팅과 Flowable (0) | 2019.06.12 |
[RxJava] #7 디버깅과 예외 처리 (0) | 2019.06.11 |
댓글