Skip to content

Instantly share code, notes, and snippets.

@maikotrindade
Last active August 30, 2018 22:27
Show Gist options
  • Save maikotrindade/e833bd3f6ed957d7d136 to your computer and use it in GitHub Desktop.
Save maikotrindade/e833bd3f6ed957d7d136 to your computer and use it in GitHub Desktop.
Observações sobre /storage/emulated/0/ no Android
Isso tem a ver com o recurso Multi-User habilitado com JellyBean 4.2. A fim de lidar com contas separadas, partes da estrutura do diretório teve que ser mudado. '/sdcard/legacy' por exemplo sempre aponta para o diretório do cartão SD do usuário conectado no momento.
Com o Android 4.2, o Google introduziu um novo recurso Multi-User. A fim de acomodar vários usuários, o Google está disponibilizando a cada usuário sua própria pasta para armazenamento.
/storage/emulated/0/
Isso se refere à "MMC" ("parte proprietário"). Normalmente, este é o interno. O "0" representa o usuário aqui, "0" é o primeiro dispositivo de proprietário do usuários. Se você criar usuários adicionais, este número aumentará para cada.
/storage/emulated/legacy/
Como antes, mas apontando para a parte do usuário atualmente trabalhando (para o proprietário, este seria um link simbólico para(/storage/emulated/0/).
/sdcard/: Este é um link simbólico para:
/mnt/sdcard (para Android < 4.0)
/storage/sdcard0 (para Android 4.0+)
/storage/sdcard/0/
O "0" identifica o dispositivo(cartão) em si. Pode-se, eventualmente, ligar um leitor de cartão com outro SDCard via OTG, que então se tornaria /storage/sdcard/1/ (não é um fato, apenas uma inferência).
O método getExternalCacheDir() foi introduzido no Android 2.2, apenas funciona de maneira assertiva quando utilizado em algum device com memória externa removível (Cartão SD).
Referências:
http://developer.android.com/guide/topics/data/data-storage.html
http://stackoverflow.com/questions/8536586/when-caching-images-and-data-should-you-use-internal-or-external-storage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment