在Eclipse中,当模拟器运行时,在appdb目录下面会有产生一个in.use的文件,这个文件是空的,当模拟器关闭后,这个文件被删除。这让我想到了java程序设计中的异常处理。
在java程序启动时,数据从磁盘导入内存,此时,内存中的数据与磁盘是一致的。在程序运行过程中,内存中的数据被修改,由于效率、速度等各方面的原因,磁盘中的数据没有被修改。这就会使得磁盘中的数据与内存中的数据不一致。在java程序正常退出时,将内存中的数据写入磁盘,数据被保存。
这是正常的过程,而如果在程序运行过程中,突然掉电,就会导致内存中的数据丢失。一种处理的办法是用临时文件,这个临时文件可以是RMS,也可以是文件。当java程序正常退出时,删除临时文件。而如果是非正常退出,临时文件中就记录了内存中本来会被丢失的数据。
临时文件如何恢复?
可以使用Eclipse的这种机制,在程序启动时,检查in.use文件是否存在,如果存在,就认为程序是非正常退出,就需要读取临时文件,恢复数据。如果不存在,则认为程序是正常退出,就创建一个in.use文件,在程序正常退出时,删除in.use文件。