[Captivate General] Cozmo1:
I put this short guide together because I tend to see a lot of confusion regarding what a "wipe data / factory reset" does to your phone.

These are the steps you should take before loading a new ROM:

1) Download your new ROM and relevant supporting or needed files like modem, alternate kernel, etc., and place them on your internal SD.

2) Backup your applications, settings, messages, etc., with a backup tool like Titanium Backup, image specific backup tool, etc.

3) Boot into recovery and run a “wipe data/factory reset"

4) Follow the developers ROM loading instructions.

When you perform a “wipe data/factory reset” the content of the following directories are deleted :

/data

/cache

/datadata

/sd-ext

/sdcard/.android_secure

Nothing else on your SD card (internal or external) outside of these directories is modified so it is safe to leave files outside of the above mentioned directories without fear of losing them. Your external SD card and SIM do not need to be removed. The goal here is load a new or updated ROM in as much a clean environment that you can. Files left behind in these, especially cache and davlik-cache can cause some of the strangest problems. The kind that nobody can really resolve.

/cache - This is the partition where Android stores frequently accessed data and application components to make these, as implied, respond much faster as well as faster to retrieve / access.

/datadata – This directory contains the library, database, user specific configuration files as well as log files for its specific application installed in the /data directory.

/data directory is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially restores it to the way it was when you first booted it, or how it was after your last custom ROM install.

If your ROM uses an /sd-ext partition on your SD card for data storage your /data directory is mapped to /sd-ext and wiping the /sd-ext directory will result in losing your data.

/sd-ext is used for apps moved to your SD card. Your Android OS runs natively in an ext format while your SD card has a fat32 format, which is used typically for USB storage devices, Windows computers, etc.

The sd-ext partition is an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have APP2SD or data2ext enabled. It is popularly used on devices that have little memory allotted to the /data partition. A misfortune that in my experience, Captivate does not partake in. Still, users who want to install more programs than the internal memory allows can take advantage of this partition and use it with a ROM supporting this feature.

The folder named .android_secure is where apps are stored when you perform the "move from phone to SDram/SD card" operation.

Consider this, Apps2SD uses the fat32 portion of your SD card, which is obviously limiting because it isn't Androids native file system. However, if you format your SD card, or partition a part of it as a ext file system, you can trick the phone into thinking it's part of the Android OS native environment. This will allow you to move applications, widgets, even cache and davlik cache over to it.

Disclaimer! I am not responsible for any damage you may cause to your phone or SD Card if you try to enable/use sd-ext.

To enable sd-ext in ClockWork Mod (ROM Manager):

Boot into CWM

Go to Advanced

Then to "Partition SD Card"

Choose an sd-ext size

Then choose a swap size, or not. Swap is just like windows' virtual memory. The system will use it when you're running low on RAM and use it as temporary RAM storage. This is where you'll probably see an increase in speed.

Just for fun I put sd-ext at 512MB and Swap at 64MB which is probably more than plenty for the swap. The swap will assist a little with memory and with the extra space I can move my apps over to it with a program like App2SD or in most custom ROMs nowadays just use the "move to USB" option in "Manage Applications". Titanium Backup will also move apps to SD for you and I'm sure you can find plenty more in the market.

You can also use a tool like Minitool Partition Wizard:

1. Open Minitool Partition Wizard

2. Delete Existing Partition from SDCard (Backup data first!!)

3. Create Fat32 Partition

Note: Set all partitions to PRIMARY (Steps 3 - 6)

4. Create EXT2 Partition (System) about 150MB-200MB depend on ROM

5. Create EXT2 Partition (Data) about 150MB-250MB

6. Create EXT2 Partition (Cache) about 50MB

Personally I don't see a need to do any of this on either of my Captivate phones though I have played with it on my DEV phone.

And since it does play a big role and needs to be cleared at times...

Davlik-Cache - dalvik cache is a program cache area for the program "Dalvik". Dalvik is a java based virtual machine that is the base for running your (.apk) programs. In order to make access times faster (there wasn't a JIT compiler installed by default until Android 2.2), the dalvik-cache is the result of dalvik doing a optimization of the running program/s. This optimization is kept so that it is then re-used every time you use your application/s. By default, davlik-cache is located in your /data partition.

No, I'm not looking for donations. Just trying to clarify things for some.