26

Are there any particular advantages/disadvantages to storing apps on the external storage of an Android device? As I have a Nexus S, I can't think of advantages for me as I can't remove the storage, also the internal storage is more than enough for my needs.

I noticed that on phone start up, when I had all my apps moved to USB storage it was quite sluggish to register all the apps on the menu/home screens.

I also read somewhere that having a wallpaper set from a photo that was stored on the external memory actually drained quite a bit of battery too with all the reads (although I think this may have been a bug).

2

10 Answers 10

25

Advantages:

  • Extend the available space on internal memory for installing more apps.
    Although some parts of the app still stay on the internal memory (data and settings,) it still frees up a significant amount of space. For older handsets with 150MB of free space (G1, MT3G, etc.) this is a huge improvement. For owners of these devices this advantage alone outweighs any disadvantages that this method brings.

Disadvantages:

  • Cannot use apps moved to SD Card if it's unmounted.
    Kind of self-explanatory: if you un-mount the SD Card for removal, the apps that reside on it need to be stopped and um-mounted as well to prevent crashes and data loss if you do remove the card.
  • Inability to use widgets or sync adapters when you move those apps to SD Card.
    This is a design limitation that stands from the above point. Since the apps stored on SD Cards need to be able to be removed on demand, things like widgets or apps that hook into your account settings (e.g. Skype, LinkedIn) will crash, with no easy way to re-start them. So Google made a compromise by requiring these apps to stay on internal memory. Even if you do manage to force them to the SD Card (some custom ROMs allow this), you simply won't be able to use them.
  • Longer boot-up and shut-down times when the system mounts/un-mounts all of the apps stored on SD Card.
    Apps that were moved to SD Card are not stored in plain sight to prevent rampant piracy. Instead, Android sets aside some space and creates a virtual partition for each app that you move. This means that at the initial boot-up, all these virtual partitions need to be mounted before apps stored on them can be accessed. The same holds true when you turn the handset off - each virtual partition is un-mounted before other shutdown processes can happen. Depending on the number of installed apps this can take an extra minute or even longer for the system to "stabilize" upon boot-up (and about 20 extra seconds for shutting down.) Once this happens though, launching these apps doesn't take any longer than those on internal memory.
  • Extra wear on the SD Card.
    This point is debatable, since writing to SD Card (which causes wear) doesn't happen that often. And besides, the SD Cards these days are cheap enough to not worry about their life time.
  • Apps require an update to support this functionality.
    Ability to be moved to SD Card is not automatically granted to older apps. Developers must change their apps to support this feature and issue an update via Market (or whatever distribution method they use.) Some older apps may not be supported any longer, and so may never get this feature. Although some custom ROMs can override this, for most people that are running stock firmware, this is a problem.

For newer devices with gigabytes of internal memory moving apps to external storage is not necessary, since space is not an issue. However for handsets with low memory it's an invaluable tool that extends their shelf life for their owners.

3
  • Another drawback: when restoring from backups, all restored apps go into main memory - which causes the restore to fail when main memory fills up.
    – Mei
    Apr 16, 2012 at 21:07
  • 1
    @David That really depends on the application you are using for backup/restore purposes. Better ones (Titanium Backup for example) will give you an option for the restore location, and allow to restore either directly to SD Card, or to the original location.
    – Chahk
    Apr 17, 2012 at 0:14
  • "Wear" on an sd card? C'mon, no more or less than "wear" on internal storage.
    – LarryBud
    Jun 23, 2016 at 17:56
31

taken straight from android developer site

  • There is no effect on the application performance so long as the external storage is mounted on the device.
    • The .apk file is saved on the external storage, but all private user data, databases, optimized .dex files, and extracted native code are saved on the internal device memory.
    • The unique container in which your application is stored is encrypted with a randomly generated key that can be decrypted only by the device that originally installed it. Thus, an application installed on an SD card works for only one device.
    • The user can move your application to the internal storage through the system settings.

Also -> Applications That Should NOT Install on External Storage (more details on android developer site)

  • Services
  • Alarm Services
  • Live Wallpapers
  • Live Folders
  • App Widgets
  • Account Managers
  • Sync Adapters
  • Device Administrators
  • Broadcast Receivers listening for "boot completed"
17

Widgets won't work if they're on the SD card.

13

Applications installed on SD card cannot run if you remove your SD card or you're turning on USB Mass storage (so it can be accessed from a computer). That's the only drawback I have been experiencing.

I've actually seen performance improvement since moving to SD; before I moved to SD I had exhausted the internal memory (about a few kilobytes left) and the phone lags quite badly. Since moving to SD (and therefore freeing some space in the internal memory), and the lag disappears.

7

For some phones and devices (especially the older ones) the internal storage is quite limited. Every application (and it's data files) take precious space. I.e. my Ideos has 512MB and was nearly full before I started "evacuating" apps to the SD card.

Another factor is the ability to backup your apps and data, or move them to another device.

Other than that, you are right in your observation that apps load slower from the external storage compared to the internal storage. This is very visible if you have those apps' shortcuts on your home screen - you'll see a generic Android icon for the first 30 seconds until the app is located on the card.

I found that switching to a class 6 microSD (I had the default class 2 that came with the phone) improved the situation considerably. Still, it takes my phone about 20 seconds to "equalize" following a cold start.

1
  • Ooh, default class 2? That's harsh. May 27, 2011 at 17:01
5

Security and Performance Implications

The application resources stored on external storage are read-only and hence there are no performance issues with loading or launching applications on SD card.

From: http://android-developers.blogspot.co.uk/2010/07/apps-on-sd-card-details.html

The post is written by a 'Suchi Amalapurapu, an engineer who worked on this feature.' The feature being the ability to put apps onto the SD card.

1
  • 1
    Why external storage being read-only the reason why launching an application isn't slower? I would have assumed that reading performance is more important for that.
    – Nova
    Apr 14, 2012 at 17:06
2

In my experience there has been little or any perceptible performance problem. I was having a really annoying experience managing my memory with my Nexus One. I used S2E to migrate and have not looked back. Amazing to be able to not have to delete apps just to install new ones.

-2

I think that moving apps from internal to external does not affect the performance.

But it does add on an extra few milliseconds to open the app from external storage instead of in internal storage. mileage will vary from device to device, depending on speed, Android version etc

-2

Apps that have a service that is constantly open, like for example Viber, WhatsApp, Facebook messenger, etcetera can slow down the ui a lot if there are a lot of these running, so its preferable to keep apps with a constant service on the phone memory, since the impact there is non noticeable by comparison.

1
  • If it's constantly running, then it's loaded into memory and it doesn't matter where it's installed after that initial load time. Mar 16, 2016 at 20:49
-3

Never ever move your apps into your external SD card. It will make your phone to lag more and the phone will reboot more slowly than usual. You might even have to restart the phone daily or once per week. It will take longer to process all the information that those apps have. I speak from experience.

1
  • 1
    Can you provide us something hard to trust or verify which we can use to evaluate your answer in a technical manner? (Hint: benchmarking)
    – Firelord
    Mar 16, 2016 at 16:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .