none
WinRT中使用ApplicationDataContainer保存数据,在删除数据后文件大小不变化的问题 RRS feed

  • 问题

  • 我想在本地保存一些数据,于是采用了ApplicationData.Current.LocalSettings,数据被保存到Settings文件夹中的settings.dat文件中。

    当我不再需要这些数据,删除掉这些数据后,发现settings.dat文件的大小并没有跟着变小。例如我存储的数据大小是40M,在删除后,settings.dat文件大小还是40M。

    删除的代码如下

    ApplicationDataContainer container = ApplicationData.Current.LocalSettings.Containers["Test"];
    container.Values.Clear();
    ApplicationData.Current.LocalSettings.DeleteContainer("Test");

    在删除后我检查了下ApplicationData.Current.LocalSettings里面,确实已经没有数据了,但是文件大小还是40M。

    这个该如何解决?

    2013年10月17日 2:09

答案

  • 您好,

    删除settings.dat这类数据库文件里面的内容的时候,并不会物理删除这类无用的数据,所以文件的大小是不变的。如果你压缩修复数据库的时候会将这些数据给删除掉,但是通常不会建议这么做,这样会导致一些问题

    祝您好运


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey. Thanks<br/> MSDN Community Support<br/> <br/> Please remember to &quot;Mark as Answer&quot; the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.




    2013年10月18日 1:16
    版主

全部回复

  • 您好,

    删除settings.dat这类数据库文件里面的内容的时候,并不会物理删除这类无用的数据,所以文件的大小是不变的。如果你压缩修复数据库的时候会将这些数据给删除掉,但是通常不会建议这么做,这样会导致一些问题

    祝您好运


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey. Thanks<br/> MSDN Community Support<br/> <br/> Please remember to &quot;Mark as Answer&quot; the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.




    2013年10月18日 1:16
    版主
  • 那有什么API能压缩呢?

    还有,压缩后可能会出现什么问题?

    谢谢。

    2013年10月18日 7:23