Record Management System (RMS)

As stated before, only necessary data should be saved into the device’s flash memory. Optimize the data, if possible, and use packing algorithms if a lot of data must be saved. However, compare the amount of extra code for packing algorithms with the benefit of the size of packed data.

Remember to inform the user if overwriting a significant entry in the database is irreversible.

It is important to handle exceptions and be prepared for environmental changes when saving data to the flash memory of the device through the Record Management System (RMS). S60 devices do not have a strict limit for a MIDlet’s RMS space, and basically MIDlets can save as much data to the flash memory as there is free memory available. However, remember that another application (Symbian or Java) may have consumed all the flash memory – in that case the system throws a RecordStoreFullException error message.

Note: The maximum Record Store size for Series 40 is 32KB.

It is also possible that an extraordinary environment change may take place while saving or reading data to/from the RMS. For example, if the device’s battery gets empty while saving data, it is possible that the data will not be saved into the flash memory or the saved data will be corrupted. Make sure that the application works without errors even if the saved data includes old information or is broken.

Note that if an application is updated, the RMS data of the older version may remain in the flash memory of the device. Check that the existing data is compatible with the newer version or that it is deleted programmatically. Note that when installing a newer version, the user might also be asked whether to delete all data related to the older version.

Check that: