A number of separate, but related, questions concerning where to store downloaded content within my application.
I have an application that downloads content from a central server. This content is sometimes premium content, or at least content where the publisher does not want it freely distributed. I understand that the “external” storage is readily accessible whereas the “internal” storage is protected, unless the phone is rooted.
If the application is installed on the SDCARD (as mine is configured to be) then is the “internal” storage also physically on the SDCARD? Thus if my SDCARD installed application downloads, say, 100MB of content to internal storage then is it actually ending up on the SDCARD, or is it ending up in the device’s physical on-board storage?
If the application is installed on the SDCARD, and the “internal” storage with the downloaded content is on the SDCARD then is it physically stored in an open format or is it encrypted? I seem to remember reading that an application stored on an SDCARD is encrypted. Does this also apply to the “internal” storage?
(Deleted question about storing files in a single directory as Context.getDir() implies that a directory system can be created and maintained in the internal storage)
Is there a better approach?
In short, Internal Storage is for apps to save sensitive data to which other apps and users cannot access. However, Primary External Storage is part of built-in storage which can be accessed (for read-write) by the user and other apps but with permissions.
The Phone Storage (ROM) is simply the memory of a phone used to store apps, files, multimedia etc. While internal memory (RAM) is the memory where the operating system (OS), application programs and data in current use are kept so they can be quickly reached by the device's processor.
Internal flash memories provide much faster read/write speed as they are well integrated with the processor of the device. For instance Samsung Galaxy S offers 14 MB per second write speed and 19 MB per second read speed.
Internal memory, also called "main or primary memory" refers to memory that stores small amounts of data that can be accessed quickly while the computer is running. External memory, also called "secondary memory" refers to a storage device that can retain or store data persistently.
Did a bunch of experimentation and came to the following conclusions with Android 2.2 on a Motorola Droid 2:
My app is a download content app. What this all means to me is that:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With