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

Android Developers: Please stop using USB storage for your app data!

I'm a new Android user with a new Samsung Captivate Glide smart phone. It has 2GB of internal storage, 4GB of USB storage, and it supports up to 32GB of external SD storage. So of course I bought a 32GB SD card for it, thinking that it would be money well spent. That was before I learned that we users don't have all the power we should have over our own devices, because someone chose to give it all to the developers instead of the users. It took me only one day of downloading apps onto my phone to figure this out, so I don't know why it hasn't occurred to anyone else just how stupid it is that we users are only allowed to choose where we want all the apps we download installed on our devices if the developers of those apps choose to give us a choice where we want them all installed. Unlike the PC, which always allows the user to specify the install path prior to installation of an app, the Android device only gives the user this choice after installation of an app, and then only if the app developer chooses to give the user that choice. This isn't smart at all, it's the most stupid decision anyone ever made about the design of a computer! So here's the problem with it: I now have a total of 256 apps installed on my new phone. I've moved as many of them as I'm able to onto my 32GB SD card. My 2GB of internal storage is full, my 4GB of USB storage is full, and I've only used 1GB of my 32GB SD card! I'm not able to download, install, move, or modify anything else on my phone without clearing out my USB storage first, permanently deleting whatever is stored there, or uninstalling whatever is stored in my phone's internal memory instead, all because developers are the only ones allowed to choose what goes where on my device instead of letting me choose! This is completely unacceptable. I didn't pay $500 for my phone and $50 for my SD card just so a bunch of developers could decide for me what I can store where on my device! Why would anyone want to be forced to delete or uninstall a bunch of app data that took hours to download over Wi-Fi, just because a bunch of developers don't want to let them use any of the massive amounts of free space they have gathering dust on their SD card? Game developers in particular are the worst about these restrictions of user freedom, and Gameloft is the worst offender. So much for gaming on Android! I'm supposed to only play one game at a time, all the way through to the end, and then delete it, along with all the stuff I earned or bought in-game before I'm allowed to download and play another game I'll end up having to delete also? Apparently this is the case, because even when I am allowed to move an app onto my SD card, a portion of all that app data remains in my phone's internal memory and its USB storage, and usually it's the largest portion that's left behind in that very limited space! I can't believe anyone has the nerve to call this smart, when it couldn't be anymore stupid! Please stop using USB storage for your app data!
 
I would direct you to the Android Developers web site and advise you to spend some time learning the basics of the system.

What is Android? | Android Developers

Basically, unlike a computer, the phones do not have the processor that computers have and they can only multitask using a separate virtual processor for each application that is running on the phone. This requires the majority of the applications to run from internal memory.

The developers do not always have the choice to make your phone work like a computer because the phone is not a computer in that sense.
 
Some phones support apps2SD. Some phones and tablets use the built-in route.
You stick your extras on the card. I've got one of last years NFL playoffs on the sd card for an Acer Tablet. The game is 4g big.
Plus I don't know how much music and books. You just have to figure out the path.

You have an SD card, and EXT SD card. You would want to put videos, etc. on the external card.

Most of the apps themselves seem to be pretty efficient. I had a program called Astromist on the Palm. You had all astronomical data plus pictures (mostly math calculations) on a device with no RAM to really mention.

Today's similar programs are much larger in all.

The Galaxy SGS4G will do Apps2SD. The Nexus S won't. It has 16M worth of storage.
I'm finding it faster in some respects. I carry a reference library with me.
 
I understand that it's frustrating to have things automatically stored on non-removable, non-upgradable memory. By current standards, the amount of such memory on the OP's device is low. But where I see a problem is that even on devices with larger amounts of built-in memory, naming conventions have changed, leaving the same name used to refer to either built-in or removable memory, depending on the device.

In my case, I have an OG Droid with 256MB of internal memory, and a removable Micro SD card mounted as /sdcard, but I also have a Bionic, where non-removable memory is mounted as /sdcard, and the removable memory is mounted as /sdcard-ext. I think this was a poor decision somewhere along the line.
 
So long as sd cards are formatted using Windows vfat, rather than a Linux filesystem like the rest of the phone, moving things to the card will have its limits.
 
So long as sd cards are formatted using Windows vfat, rather than a Linux filesystem like the rest of the phone, moving things to the card will have its limits.

Was the philosophy of vFAT to share data across platforms to Windows?
 
Was the philosophy of vFAT to share data across platforms to Windows?

It's almost the standard to allow moving the card to any media devices and have it just work. Example, not only being able to plug in to your PC, but you can also put that card right into many HP photo printers and go to town.

Plus, it's likely easier to mount it on any make/os pc and transfer data.

Right now, the issue is fixed partitions and direct mount points for them, as well as their order, in Android.

What's needed is for the /data area to be configurable to point anywhere the user wants. Problem solved.

The holdup? Locked bootloaders and no root, out of the box, to let such a thing work.

Unix admins run into this on most every default unix install, and do just as I suggest where things like /system, /data and /etc are on disk, rather than memory.

The techniques are so well known that the cure for this could be trivial - were it not for the artificial, but quite real, constraints we face.
 
See also -

Android Partitions Explained: boot, system, recovery, data, cache & misc

How to partition an sdcard for Linux/Android -

Properly Partition SD Card For App2SD+ Android ROMs

How to solve the problem at that point -

[GUIDE] How to get more FREE SPACE for your apps - Android @ MoDaCo

All of the disclaimers apply. Try that only if you know what you are doing and accept the risks.

The good news is that you can learn what's required and get help from developers forums from those who came up with these tricks or from folks on our forums who have been there, done that.

Hope this helps! :)
 
I understand that it's frustrating to have things automatically stored on non-removable, non-upgradable memory. By current standards, the amount of such memory on the OP's device is low. But where I see a problem is that even on devices with larger amounts of built-in memory, naming conventions have changed, leaving the same name used to refer to either built-in or removable memory, depending on the device.

In my case, I have an OG Droid with 256MB of internal memory, and a removable Micro SD card mounted as /sdcard, but I also have a Bionic, where non-removable memory is mounted as /sdcard, and the removable memory is mounted as /sdcard-ext. I think this was a poor decision somewhere along the line.


I couldn't agree with you more... I can't tell you how much confusion and headache this has caused myself (a relatively experienced user) and everyone I know that has an Android device. My OG Droid and Incredible call them simple Internal and SD Card memories...DUH!!!
But to start calling ANY internal memory SD Card, while it might be technically correct, is confusing and misleading; especially to all the users that aren't as tech savvy (like those that read forums).

What Google and Android never seem to consider when making these decisions...While it makes sense to the developers and engineers, does it make sense to the USER of the device. Considering the massive push into the market, the VAST majority of Android users are not tech-experienced enough to immediately or readily understand these things. For those reading this...if you disagree, please understand that for every comment about this (or any) issue on a forum, there are HUNDREDS of users that are having trouble with the same thing...they just don't know how and where to fix it. They just know "My stuff isn't where it's supposed to be."

And this is reason #43 for leaving Android when feasible. I know this comment will result in some nasty comments...please understand I don''t say it with malice in mind. Just after three years of struggling with issue after issue with my Android devices and watching the insane things Google seems to do....I'm just done with it.
(and yes...I have a running list of reasons. I started it a couple years ago when I had such difficulty getting my Outlook tasks to sync with something on my phone....something that is still an issue, but not for this post or forum)

Best to all.

Spike
OG Droid - Project Elite
Droid Incredible - MIUI
ASUS Transformer Pad 101
 
Back
Top Bottom