• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Why can't apps be installed to the SD card?

Sunny Rio

Android Enthusiast
What's the reasoning behind preventing users installing to the SD card? On a Windows PC, if C: is full, I can install to D:. Since C: on a phone cannot be upgraded as it's soldered on, we need to install to D:.
 
It may well be that there's no good reason. The world of computer programing is not what it used to be!
 
They can be, provided you format the card as internal storage and have a phone which supports doing this.

Prior to that being added (android 6 as I recall) apps were never truly installed to internal storage even if you selected "sd" as the install location. The apk and shared object library (if the app had one) would be, but the rest would be in internal storage). There were hacks to move part of all of an installed app to a separate partition on the sd card if you had root - they may still exist, been a long time since I either rooted or had a microSD slot so I'm not up to date with that stuff.

As for why, I can't be sure. Filesystems will play some role: linux systems use ext filesystems (ext4 these days), while microSD cards are generally formatted as fat32 - portable but lacking in features, particularly access control is weak. The access control thing is undoubtedly why the app databases (often bigger than the apps) don't live on sd: proper access control is necessary so that apps can't read and modify other apps' databases, which would make malware development trivial. But it may be that there are other technical reasons why the executable had to be in an ext partition, I'm not sure at this moment. When formatting the card as internal it is formatted with an encrypted ext4 filesystem so behaves exactly like internal storage, only slower and at some level less reliable.

SD card speed and reliability were doubtless considerations too. It was notable that the old "move to sd" option only moved static elements (originally just the apk, later the .so library) which would only need to be accessed when loading the app into RAM and not afterwards, and would not be updated unless you updated the app itself. So this would have little impact on app speed (tiny effect on loading, none at all on execution) and no card lifetime implications (because you only wrote these things once, you weren't constantly writing). Hacks (root required) that allowed you to offload the databases to an sd partition certainly did slow phones of ~12 years ago, though to a degree that many still found an acceptable trade-off for very limited internal storage. I have always assumed that this is why Samsung flagships, back when they had sd cards, never allowed formatting as internal: Samsung made vague statements about it being for the best customer experience, which I would read as "we don't what someone buying our expensive flagship, sticking a cheap, slow card in it, formatting that as internal and then making a huge fuss on social media about how their new phone is slower than their old one". And to be fair if that was their thinking they would have a point: there are many people who would do something like that and never even consider that if they weren't happy with the result it might be in any way their fault rather than the manufacturer's, no matter what warnings you gave them.

(To illustrate that point, there's a reddit that collects stupid reviews from cooking sites that is full of people giving 1 star reviews to a recipe because they made some astoundingly dumb change and it didn't work and this must be the recipe's fault rather than theirs. And by "astoundingly dumb" I mean things like replacing the carrot in a carrot cake with kale and then complaining that it was dry and tasted awful, or using 120 times as much chilli paste as the recipe said and then complaining it was too hot! Amusingly that last one included the comment that the 2.5 cups of chilli paste they used was "all that they had", implying that they would have used more if they had had it...).
 
Argh, Linux. Well if I was Samsung, I would have allowed it, but when you selected "format as internal storage" I would display a notice saying "if this is a slow SD card it may reduce the speed of your phone." Thankfully I have a Motorola now. I hate Samsung almost as much as Apple (sorry for swearing). I mean what were they thinking putting 2GB RAM on a phone with 8 cores? That's 0.25GB per core! Unworkable! Worse than my previous cheap crap VKWorld (now bankrupt Chinese firm) which had 3GB RAM for 4 cores.

Your last paragraph about cooking amused me greatly. It's amazing how stupid 99% of people are.

I will attempt to format a spare SD card as internal and see if it works. If the option is there I'll go to the trouble of copying my good SD card onto my PC, then formatting it. This phone has 60GB internal storage, but it's already over half full.
 
While this may seem like a good idea at first, a couple of things to bear in mind-

When formatted as internal storage the card is encrypted and can no longer be read by another device such as a PC. If the phone dies you won't be able to get the files from the card.

Performance will always be slower when using the SD vs. the internal phone memory.

Using an SD card this way will subject it to constant writes which will likely result in premature card failure, taking your data with it.

So consider the above before you proceed. While this may initially seem like a good solution to insufficient phone storage, a far better one is a phone with adequate internal storage.
 
Phones at a sensible price range don't have adequate storage for my liking.

Aren't SD cards made of the same stuff as onboard flash memory? SD, SSD, NVME, it's all the same really.

I use a fast Kingston in the phone, which I originally bought the fastest of for use in a high definition video camera.

If it wears out it wears out, they're cheap to replace. I don't keep only one copy of anything important. My phone is a temporary place. When I sort the photos from a holiday, I put them on the computer, which is backed up to two seperate external drives alternately, stored in seperate locations.
 
Back
Top Bottom