지금까지 안드로이드의 내장메모리와 외장메모리라 하면 내장메모리는 디바이스 내부에 존재하는 저장 메모리이고 외장메모리는 SD카드를 삽입하면 그 SD카드가 외장메모리가 된다고 생각했습니다.
그런데 개발을 하다 보니
외장메모리(SD카드)에서 파일을 검색할 일이 있어 Environment.getExternalStorageDirectory() 를 기준으로 파일 검색을 하다가 SD카드를 빼면 어떻게 될까 하고 SD카드를 뺀후 위의 코드를 그대로 실행 시켰는데 에러없이 작업이 되더라구요..
이때부터 제가 외장메모리란걸 잘못알고 있나 라는 생각이 들면서 내장메모리와 외장메모리의 기준이 혼동이 되더라구요.
위의 경우를 봤을때는 외장메모리라 하면 SD카드를 포함한 기가에 기본적으로 탑제된 저장영역(저는 이게 내장메모리라고 생각했는데요)을 포함한것 같기도하고... 아닌것 같기도 하고...
혹시 이 두 메모리의 차이점이 어떤것인지 알려주실분 계신가요?
그리고 내장메모리(갤럭시노트 2같은 경우 내부 메모리 16기가)를 검색할때는 Environment.getDataDirectory()를 이용하는게 맞는건가요?
궁금합니다.