Enlarge
We’ve probably all had this happen at one point or another: it’s time for an OS update, and your phone wants to download a ~1GB brick of an update file. On Android, normally this gets downloaded to the user storage partition and flashed to the system partition.

But wait—if your phone is full of pictures, or videos, or apps, there may not be enough space to store the update file.
In such circumstances, the update fails, and the user is told to “free up some space.” According to the latest source.android.com documentation, Google has cooked up a scheme to make sure that “insufficient space” error will never stop an update again.
Where the heck can Google store the update if your phone is full, though? If you remember in Android 7.0, Google introduced a new feature called “Seamless Updates.” This setup introduced a dual system partition scheme—a “System A” and “System B” partition.

The idea is that, when it comes time to install an update, you can normally use your phone on the online “System A” partition while an update is being applied to the offline “System B” partition in the background. Rather than the many minutes of downtime that would normally occur from an update, all that was needed to apply the update was a quick reboot.

At that point, the device would just switch from partition A to the newly updated partition B.
When you get that “out of space” error message during an update, you’re only “out of space” on the user storage partition, which is just being used as a temporary download spot before the update is applied to the system partition. Starting with Android 8.0, the A/B system partition setup is being upgraded with a “streaming updates” feature. Update data will arrive from the Internet directly to the offline system partition, written block by block, in a ready-to-boot state.
Instead of needing ~1GB of free space, Google will be bypassing user storage almost entirely, needing only ~100KB worth of free space for some metadata.
Read 3 remaining paragraphs

Leave a Reply