Inside Your Treo/Centro 3 More Articles...

- Running applications from your SD card.

Once you start loading your Treo/Centro up with applications, you can quickly run out of room in RAM. Shifting applications to your SD card is the obvious solution.

This article will explain what applications you can move to your SD card, what actually happens when you run those applications, and how to to move applications with the built in application launcher, or with Initiate.

What really happens when you run an application from the SD card...

The Palm OS actually can't run applications from your SD card.

What happens is that your launcher copies the application to RAM, and then asks the system to run it.

When the application exits, your launcher cleans up and continues.

This has a couple of important consequences:

  1. It takes longer for an application to launch from the SD card because it has to be copied to RAM
  2. Applications can't run 'in the background' if you keep them on your SD card (more on this later)
  3. Some information for your application is sometimes kept in RAM (more on this too)

Applications can't run 'in the background' from the SD card...

As far as the operating system is concerned, when you move an application to the SD card, it is gone.

This means that applications can't do any background processing if you keep them on your SD card. Any application that watches for key presses in the background, or handles alarms, or does anything when it isn't actually your main application won't work when it is on the SD card.

e.g. - here are some apps that can't run in the background - and why

  • Butler - looks for key presses, handles alarms, watches incoming SMS for remote lock commands, etc
  • Phone Technician - monitors calls to handle ringers, and key presses when a call is active
  • Initiate - monitors key presses to know when to launch, and when to do voice launching
  • Genius - monitors the find key

Most of my applications monitor background activity and therefore can't run from the SD card. They are unusual though - most applications only do anything when you run them - so they're quite happy to run from the SD card.

You can read more about applications running in the background here.

One useful side effect of this is that your SD card provides a useful 'quarantine pen' for troublesome applications. If you think an application is causing problems when it runs in the background, then you can move it to the SD card. As far as your system is concerned, it is as if you deleted the application. It will stop doing whatever it was doing in the background and you can see if that fixes your problem.

Some information for your application is sometimes kept in RAM

Applications are often made up from more than one file. There is likely to be the main application, any databases that it creates with information, some preferences, and perhaps read-only data that it uses (such as language files, or game data).

When the launcher launches your application, it copies the main application database (file) as well as the fixed read-only databases to RAM. As none of these are supposed to change when the application runs, then cleaning up is really quick. The launcher simply deletes the application and its read-only databases* (the original copies are still on the SD card).

If your application saves any preferences in the preference database, then these stay in RAM in the preference database.

Similarly, if your application creates any files with data (such as a document), then these are also kept in RAM.

Normally this is a good compromise - your changeable data is not normally very big, so doesn't take much room in RAM. Moving the fixed databases and then simply deleting them is much quicker than moving them back to the SD card.

File Type What it does How to recoginse it with Filez What happens in SD launching
Main application The work... type 'appl' Copied from SD card to RAM, then deleted when application exits
Overlays These are used to provide different languages for applicatons type 'ovly' Copied from SD card to RAM, then deleted when application exits
Fixed data Store information like game levels 'bundled' flag set Stays in RAM the whole time
Preferences Stored in the saved or unsaved preference database record in the saved or unsaved preference database Stay in RAM the whole time
Application data user created data such as a document anything else with the same creator id as your application. Stay in RAM the whole time

 

How to move applications to the SD card

1) With the standard application launcher

  1. Open the application launcher.
  2. Press menu (or tap at the top of the screen)
  3. Select App/Copy
  4. Select your SD card in 'copy to' and phone (or device) in 'From'
  5. Select the application you want to copy and tap on 'copy'
  6. That's it.

Your application will now appear in a separate category in the application launcher (the category will have the name of your SD card) and you can launch it like any other.

2) With Initiate

  1. Tap on the application you want to move and drag it onto the SD card icon

or

  1. Select the application then select memo/record/Move to SD card

That's it!

Read More Treo/Centro Articles...