I did some additional testing on my second device and noticed behavior that seems interesting, but I’m not sure whether I’m interpreting it correctly.
Case 1:
iPad Settings reports ~20 GB free
volumeAvailableCapacityKey returns ~7.6 GB
volumeAvailableCapacityForImportantUsageKey returns ~19.3 GB
Case 2 (after I intentionally downloaded a large amount of content to fill up the device storage):
iPad Settings reports ~215 MB free
volumeAvailableCapacityKey returns ~157 MB
volumeAvailableCapacityForImportantUsageKey returns ~197 MB
What surprised me is that in the first case, volumeAvailableCapacityForImportantUsageKey is very close to the value shown in Settings, while volumeAvailableCapacityKey is much lower.
But in the second case, when the device is almost full, all three values become much closer to each other.
Am I understanding correctly that as the device runs out of storage, the system has less reclaimable/purgeable space available, so the different capacity estimates start converging because there is simply less content that iPadOS can optimize or clean up automatically?
Another interesting observation is that after reaching the values from Case 2, content downloads in many apps effectively stopped working.
For example:
Netflix appeared to start downloading, but nothing actually happened
Some other apps with content downloading also stopped downloading videos without showing any error
App Store no longer allowed installing apps because of insufficient storage
Xcode once failed to install my app onto the device because there was not enough space available
What confuses me is that all of the reported values were still greater than zero.
At the same time, ~215 MB free space is the absolute minimum I managed to reach on the device, so perhaps iPadOS has some kind of internal storage reservation or minimum writable threshold that is not reflected directly in these APIs?
Topic:
App & System Services
SubTopic:
Core OS
Tags: