At 09:39 AM 5/26/2005, you wrote:
Hello All,
We have an application which worked fine for all
versions of Palm OS 3.5 and above. But, recently we
ran into a strange situation where it wouldn't work
with the Treo 650 and that it was crashing on
installation.
The application download a bunch of records all packed
and then unpacks them after the hotsync. Everything
goes fine until this point, however, after the records
are unpacked and writte to the new database, right
before the DmCloseDatabase, the totalbytes and the
numrecords and all those parameters look good. But,
as soon as I do the DmCloseDatabase, the totalbytes,
seems to be growing by 10 fold. (it was 1263919
bytes, before close and it is 13960704 after the
close).
Not sure, what's causing this problem and why only on
the Treo 650. It is working fine with all the devices
we have tested previously.
It probably would also occur on the Tungsten T5. Both the original Treo
650 and the Tungsten T5 use an implementation of NVFS where databases are
stored with each record taking at least 512 bytes of space. Later devices
(LifeDrive, Tungsten E2, updated Treo 650s) use 32 bytes as the NVFS chunk
size.
What you're seeing is that the DB is in the DBCache where it's just stored
in RAM as MemHandles, but on your DmCloseDatabase, it gets written out to
the NAND flash where this space expansion takes place.
Search on NVFS in the archives here and read the NVFS white paper on the
pluggedin.palmone.com site for more information.
-- Ben Combee, Senior Software Engineer, palmOne, Inc.
"Combee on Palm OS" weblog: http://palmos.combee.net/
Developer Forum Archives: http://news.palmos.com/read/all_forums/
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/