【问题标题】:Is there any limit to store the files inside the app-specific storage[data/data/{packagename}] in Android?在 Android 中将文件存储在特定于应用程序的 storage[data/data/{packagename}] 中是否有任何限制?
【发布时间】:2020-06-01 02:17:52
【问题描述】:

用例:我想将文件完全存储到特定于应用程序的存储中,这样任何人都无法直接访问这些文件。

我已将文件存储到内部存储[storage/emulated/xxx/xxx] 和特定于应用程序的存储[data/data/com.x.x],但在存储已满之前我没有从设备收到任何异常。我在 Android Docs 中找不到有关应用程序特定存储限制的任何信息,真的有任何限制吗?请在下面找到我测试过的设备。

  1. Samsung Tab 32GB [应用专用存储空间最多可存储 20GB]
  2. Samsung S10 128GB [在应用程序特定的存储空间中最多存储 100GB]
  3. OnePlus7 128GB [在应用程序特定的存储空间中最多存储 100GB]

根据我对特定应用存储的研发,没有任何限制。但我在 Android 文档中找不到这个。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 应用特定的存储是两个。 /data/data/ 和 /storage/emulated/0/Android/data。您应该考虑两者,因为它们位于不同的“分区”上并且可以具有不同的文件系统。第一个大多很小。
  • 是的,可能有两个分区。如果第一个(data/data/)很小,我应该在某个地方得到异常吗?但我没有得到。我们如何确保第一个很小?测试设备: 1.Samsung Tab 32GB [在应用程序特定存储中最多存储 20GB] 2.Samsung S10 128GB [在应用程序特定存储中最多存储 100GB] 3.OnePlus7 128GB [在应用程序特定存储中最多存储 100GB]
  • [Stored up to 100GB in app-specific storage] 在哪一个?我们知道有两个。
  • 如果第一个(data/data/) `它是/data/data/
  • 是的。在特定于应用程序的存储 [/data/data/] 中。如果这是有限的,怎么可能?

标签: android kotlin memory-management local-storage android-storage


【解决方案1】:

是的,android 文档中没有指定存储限制。但它提到“内部存储空间用于特定应用数据的空间有限。如果您需要保存大量数据,请使用其他类型的存储空间。”

您可以写入多个文件,除非存储空间可用,否则会抛出 IOException

还提到“如果您多次读取或写入相同的文件,则会影响应用程序的性能”,如果您使用的是特定于应用程序的存储。

它基本上存储了仅供您的应用使用的文件。

所以要明智地选择存储。

您可以阅读更多信息hereAndroid Dev Summit '19

希望对你有帮助!

【讨论】:

  • 感谢您的回复,但我仍有疑问。根据 Android 文档,“应用特定数据的空间有限”。其实这句话很让人费解。它到底是什么意思?这是否意味着应用程序最多可以存储 4GB 或 5GB 或 XGB?如果这句话是真的,为什么当完全用文件填充应用程序存储时我没有得到任何内存异常。
  • 我不知道确切的分配大小。我猜系统会将大小分配给应用存储。但是是的,有一件事提到它总是少量的存储分配。你可以在这里阅读它。 developer.android.com/training/data-storage/…
猜你喜欢
  • 1970-01-01
  • 2012-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
  • 2011-11-22
相关资源
最近更新 更多