In molti dispositivi più recenti non ci sarà più alcuna distinzione fisica, con storage "interno" ed "esterno" che condivide gli stessi chip flash senza necessariamente avere un'assegnazione fissa, quindi la differenza rimane davvero uno dei paradigmi di accesso previsti.
I file sulla memoria esterna (reale o simulata) sono inevitabilmente condivisi con tutto e modificabili da qualsiasi cosa con tale autorizzazione manifesta. Tradizionalmente sono facilmente visibili, sebbene con i recenti dispositivi di accesso MTP il sistema potrebbe dover essere informato prima che un PC connesso li veda.
Al contrario, i file nella memoria interna sono privati di un'applicazione, ad eccezione di qualsiasi cosa venga eseguita come root o sistema, o se l'applicazione ha deciso di renderli generalmente visibili o modificabili. Anche quando accessibili, i dati sulla memoria interna possono essere più difficili da accedere all'esterno dell'app proprietaria - non è supportato dai meccanismi di archiviazione di massa USB o MTP destinati al consumatore e anche per altre app e strumenti di sviluppo è difficile da individuare a meno che tu sapere dove guardare, dato che è possibile esaminare le cartelle di file che le applicazioni hanno scelto di condividere, non è possibile sfogliare le cartelle principali (in genere/dati o/dati/app). Può essere un po 'frustrante anche per lo sviluppatore di un'app accedere ai file che crea sull'archiviazione privata durante il debugging (sebbene mentre l'apk è debuggabile è possibile con lo strumento run-as e adb, oppure puoi costruire una capacità di esportazione nella app, o eseguito sull'emulatore dove adb è root).
Probabilmente il processo decisionale dovrebbe essere qualcosa del genere: è pensato per essere privato per l'applicazione proprietaria? In tal caso, inseriscilo nella memoria interna, a meno che non sia troppo grande e mirato ai dispositivi più vecchi, nel qual caso potrebbe essere necessario crittografare e/o firmare per la protezione prima di metterlo nella memoria esterna. Altrimenti, se è destinato a essere condiviso, deve essere consegnato ad altri componenti arbitrari (app di posta elettronica, ecc.) O è grande, metterlo nella memoria esterna.
fonte
2012-06-26 17:16:52
PErfect. Grazie per la risposta dettagliata. Suppongo che ogni dispositivo abbia una memoria esterna giusta? Voglio dire che non ho bisogno di preoccuparmi di non avere una memoria esterna e il mio mancato funzionamento del meccanismo di salvataggio – Snake
No, non si può presumere che ogni dispositivo abbia una memoria esterna. Originariamente, ogni dispositivo con Android Market ne aveva uno, ma una scheda sdcard rimovibile potrebbe essere rimossa o persa e altri dispositivi potrebbero non essere spediti con uno. Ancora più importante, sui dispositivi con modalità di archiviazione di massa USB, le applicazioni perdono l'accesso alla memoria esterna mentre viene installata dal PC. Ciò non significa che devi operare quando non c'è spazio di archiviazione esterno, ma dovresti lamentarti con l'utente in modo informativo piuttosto che fallire. Ad esempio il browser rifiuterà di scaricare qualsiasi cosa senza uno. –
Perfetto grazie mille per il tuo aiuto – Snake