7

If i have 32 Gb inbuilt storage device then my app can store data of ~25 GB to its internal memory(data/data/package_name/) hidden from outside world. Assuming 6 GB for system data.

Min capacity is discussed here.

As per my experiment on nexus 5 my app can write(Image files) till ~25 gb plus to internal memory.Insane image attached.

Just want to know the MAX data capacity,if android has one.?


Does this holds good for other devices as well? or is it OEM proprietary Definition?.

File usage: Root directory: data/data/com.exmaple.ui/ If the file is not private then Videos/PDF files stored can be played/viewed using other apps like Photos/Adobe Using Intents.

But making MODE_WORLD_READABLE they are not shown in native gallery.How do i make them show in native gallery or file explorer?

Sub-directory file usage:

if i write a file using FileOutputStream to data/data/com.exmaple.ui/myfolder**,and make the file readable. its not allowing me to read the file like above using intents any reason?

Thanks NitZ

Community
  • 1
  • 1
NitZRobotKoder
  • 1,046
  • 8
  • 44
  • 74

2 Answers2

4

As far my little knowledge about Android goes, there is no upper limit set in Android. Rather in api version specification, it asks for min available shared memory (for data storage) on devices.

e.g. From Android 4.0 Compatibility Definition (http://static.googleusercontent.com/external_content/untrusted_dlcp/source.android.com/en/us/compatibility/android-4.0-cdd.pdf)

"Device implementations MUST offer shared storage for applications. The shared storage provided MUST be at least 1GB in size"

Same is said in Android 4.3 Compatibility Definition (http://static.googleusercontent.com/external_content/untrusted_dlcp/source.android.com/en/us/compatibility/android-4.3-cdd.pdf)

So as far as my findings go, its restricted upon OEMs to ensure this min shared storage (irrespective of internal storage / sd card) for third party apps aka upper limit depends on the available total storage of the device. e.g. we could theoretically store 64GB data in a device with 128GB SD card.

I hope this post helps in your quest.

Amit K. Saha
  • 5,871
  • 2
  • 27
  • 35
1

Adding on to Amit K. Saha answer..

1)Any Application can store upto available device internal memory, no restriction.

2)Whichever application first reserve gets the first prioprity.First-Come-First-Served.

3)Used file provider: Copied the files to app private memory(so that the file is protected) sub-folder and use file provider to give access to the files so that ,the external app can show content.

https://developer.android.com/training/secure-file-sharing/setup-sharing.html

NitZRobotKoder
  • 1,046
  • 8
  • 44
  • 74