Android has had limited support for removable storage in one form or another since the beginning. With , the new Adoptable storage feature lets you turn your removable SD card option into a more or less permanent (and no longer removable) part of the device.
The whole thing is simple, really, and most of the confusion surrounding Adoptable storage is easy to clear up. There are a few things to keep in mind so you understand how it works and what it's doing.
Your storage device really gets adopted
You can force any storage device connected via USB OTG to be adopted using one simple command:
adb shell sm set-force-adoptable true
But you probably shouldn't.
Once a storage device is adopted, it becomes part of the system and is no longer removable. Sure you can physically remove it, but you'll be prompted to put it back while apps and services crash on your phone or tablet. It's adopted — taken in and loved by the system, and made part of the whole.
This means Adoptable storage is really only useful for two things:
- An SD card placed in a phone or tablet and never to be removed
- A USB storage device attached to your Android TV box, and never to be removed.
When you insert an SD card into the or something like your or that has been updated to Marshmallow, you have the choice of using it as a Portable device or an Internal device if you go to reformat it. If you choose Portable, it acts like any other SD card and you can take it out and swap it between devices at your leisure.
If you choose Internal, things change. The device is formatted as a local, 128-bit AES encrypted EXT4 drive and mounted as part of the system. It's then set as the preferred storage, and you're prompted to move data over. Newly generated data is placed on the adopted storage by default.
If you try to remove it, things go haywire.
It might be a little slow
Your phone will "benchmark" storage when it's adopted. When I tried it (both on the A9 and hacking a USB 3.0 thumb drive via USB OTG on the ) it told me that my storage was slower than recommended at the end of the process. I didn't notice any significant slow-down, but I might not have been doing the right things to make it become slow.
When you get a phone with Marshmallow and an SD card slot, I recommend using the fastest SD card you can find that's supported. Class 10 and UHS are words to look for.
In any case, it's never going to be as fast as the internal flash storage built into your phone. This might make a difference to you, and you might not like what you see.
Do you really want to adopt your SD card as part of the system?
Chances are, you probably don't.
Everyone thinks Google made this move because devices all ship with limited internal storage, and users will need more space to install apps and their associated data. I agree, and this is a decent solution if you have a similar phone.
But for many of us reading this, we really only want more storage to store things like pictures, music and movies. We're better off using an SD card as a portable storage device that we can remove and use wherever we want (like to transfer files back and forth between devices), and keep apps and data off of the card.
There's also the bit about how SD cards have a limited number of times they can be read from and written to. Using an SD card the "normal" way means failures are uncommon. When you start caching data and reading and writing at a rate higher than a card was designed to handle, problems can arise. Android takes some precautions here with formatting and mounting options that reduce the indexing, but it can still happen. It's interesting to watch and see how different cards handle this, now that Marshmallow and adoptable storage are common, we can see which cards are better than others in this regard.
Adoptable storage is a good idea. Formatting an SD card as an ext partition and mounting it at boot is something Android hackers have been doing for a while. It allowed my to live a much longer life than it should have.
But it's not magic, and the idea is simple once you stop and think about how it works. You'll have to decide if it's an idea you want to use or not.