Here you must distinguish between the several partitions:
/system: This is mounted read-only in normal mode, and the place where "the system" is installed (Android core apps plus most of the pre-installed "bloatware"). No matter if it shows "220 MB available", as a normal user cannot make any use of that "free space"
- internal storage (
/data): This is where the user installs his apps, and where all the user data reside. Most crucial part, and the place where your report states "11 MB free" -- which most likely will trigger the "insufficient memory" error, see insufficient-memory). To free up space here, you can do things like...
- uninstall apps you once installed but no longer need (most efficient part)
- move apps to SDCard (see app2sd). Apps must explicitly support this (though there are root-methods to enforce the others, it might have side-effects). Still, parts of those apps will remain here -- unless using things like link2sd.
- cleanup cache (only temporarily helps, as cache will fillup again)
- internal SDCard: Some devices (not all) offer this as additional storage. App2SD may move apps to this place. Aside from that, you can store files here (documents, media files, etc.)
- external SDCard: No need to explain this one, right?
Unless you really know what you are doing, you should not manually change the partitioning (e.g. to move some free space from
/data). You might break things, especially future updates (where the Android system may need more space than it currently does).
Just a short note on that. While one should no longer "save money" buying anything below class-4, additional money for class-10 might be "wasted". My recommendation is to go for class-6 as the best compromise between speed and spent money. Compare the specs for read speed and write speed between class-6 and class-10 when in doubt. If you still want to go for class-10, make sure your device supports it.
Controversely discussed nowadays. Depends very much on how much (physical) RAM you have available in your device, and what kind of apps you use. I tend to say with recent hardware and a recent Android version (2.3 and higher) there's no need to go for swap. The Android system does a good job on handling memory, and if your device has 1 GB (or more) RAM available, I do not see where swap would improve performance. But as said, that also might depend on what apps you are using.
Also for your question concerning Swapper: Keep in mind that swap only creates "temporary data". So with "swap broken", you could simply de-activate it without losing data (as it holds no permanent data).
As said above, I do not recommend to touch this yourself unless you are really experienced with it. Rather leave it to the "experts". Especially I would never make the
/system partition smaller, for given reasons: you might encounter problems with future updates -- not only with newer Android versions, but also with different ROMs, as different ROMs also go with different selections of pre-installed apps.
File system types
I cannot imagine any tutorial recommending FAT32 for
/data -- you must have misread that. I even doubt FAT32 would work here, as it IMHO does not allow for the Unix permissions to be supported and required by
/data. However, FAT32 is recommended for the "data part" of the SDCard, for compatibility reasons: it is the file system readable by most operating systems.
The "App partition" usually is
/data, and many ROMs use ext4 here (some older ones might still use YAFFS2 instead).
But coming to that point, I'm pretty sure you misunderstood the "targets" -- and "App partition" versus "Data partition" is referring to the SDCard, which brings us to the last point of your question:
Partitioning the SDCard
This is usually not required but optional, and makes only sense in combination with either App2SD+ or Link2SD to move apps out of the "internal storage" (see above) to gain free space in that most crucial place. It might need a little additional information:
Some apps support App2SD to move larger parts to the SDCard. However, with USB Mass Storage (UMS), when you connect your device via USB to a computer the entire SDCard would be "moved" there, and apps as well as data residing on it become "inaccessible" to the device itself. This is one of the reasons some apps will not support App2SD -- especially when providing widgets and/or services. Several approaches exist to circumvent this problem:
- App2SD+ / Link2SD use a second partition on the SDCard. Android would only "give away" the first partition of the SDCard via UMS, so this second partition remains untouched, and its data/apps/... stay available to the device
- switching away from UMS and using MTP (Media Transfer Protocol) instead, the card is no longer offered to the PC "as a whole" (i.e. including physical access), but in a logical way the computer is permitted to access files on it. So even while mounted via MTP, the device has full access to the card. This is what recent Android versions do -- though some users might have a hard time to get it working with their OS's where it's not always supported "out-of-the-box".
Conclusion: If you want to stay with UMS, a second partition on your SDCard might prove useful. Switching to MTP instead, there's no need for that anymore, unless you want to use App2SD+/Link2SD for other reasons (e.g. not only move the apps, but also their data/Dalvik cache).