Android 应用程序最大数据存储(内部存储)容量定义和文件可见性图库/第三方应用程序。

7
如果我的设备内置32 GB存储空间,那么我的应用程序可以将约25 GB的数据存储到其内部存储器(data/data/package_name/)中,对外界隐藏。假设6 GB的数据是用于系统数据。
最小容量在此处here中讨论。
根据我在Nexus 5上的实验,我的应用程序可以将图像文件写入内部存储器直至约25 GB+. 疯狂的图像 attached
只想知道最大数据容量是否存在?
这对其他设备也适用吗?还是OEM专有定义?
文件使用: 根目录: data/data/com.exmaple.ui/ 如果文件不是private,则存储的视频/PDF文件可以使用其他应用程序(如Photos/Adobe)使用Intents播放/查看。
但是,如果使它们MODE_WORLD_READABLE,则它们不会显示在本机库中。如何使它们在本机库或文件浏览器中显示?

子目录文件使用:

如果我使用FileOutputStream写入一个文件到data/data/com.example.ui/myfolder**,并使文件 可读。为什么我不能像上面那样使用意图来读取该文件?

谢谢 NitZ

2个回答

4
据我所知,Android并没有设定上限。相反,在API版本规范中,它要求设备具有最小可用共享内存(用于数据存储)。
例如,从Android 4.0兼容性定义(http://static.googleusercontent.com/external_content/untrusted_dlcp/source.android.com/en/us/compatibility/android-4.0-cdd.pdf)中可以看到:
“设备实现必须为应用程序提供共享存储。提供的共享存储必须至少为1GB。”
Android 4.3兼容性定义中也是如此(http://static.googleusercontent.com/external_content/untrusted_dlcp/source.android.com/en/us/compatibility/android-4.3-cdd.pdf)。
据我的研究,对于第三方应用程序来说,这个最小共享存储空间(无论是内部存储还是SD卡)是由OEMs限制的,即上限取决于设备可用总存储容量。例如,我们可以在具有128GB SD卡的设备中理论上存储64GB的数据。
我希望这篇文章能够帮助您的探索。

1

在Amit K. Saha的回答上补充:

1)任何应用程序都可以存储到可用设备内存,没有限制。

2)先预定的应用程序具有优先权。先来先服务。

3)使用文件提供程序:将文件复制到应用程序私有内存(以便保护文件)子文件夹,并使用文件提供程序访问文件,以便外部应用程序可以显示内容。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接