代码之家  ›  专栏  ›  技术社区  ›  SAHM

NSFileManager的移动temAtPath:路径:error method加载要移动到内存中的文件?

  •  0
  • SAHM  · 技术社区  · 6 年前

    在最新的应用程序更新中,我将每个用户的.sqlite数据库移动到不同的目录。我用的是核心数据法 migratePersistentStore:toURL:options:withType:error ,一些用户的应用程序由于使用了过多的内存而关闭。所以我要回到NSFileManager的 moveItemAtPath:toPath:error 方法。我不相信那样会把数据库加载到内存中 迁移persis商店:图尔:选项:withType:错误 是的,但是我担心移动一个非常大的数据库仍然会出现同样的内存问题。我需要一些建议-有人知道文件移动时是否加载到内存中吗?有没有一种方法可以以尊重设备内存的方式移动一个非常大的文件?有比这更好的方法吗

    1 回复  |  直到 6 年前
        1
  •  2
  •   Jerry Krinock    6 年前

    我同意您的看法,使用NSFileManager只会更改文件系统中的链接,不会将任何内容加载到内存中。但如果你真的想知道 当然 ,不要相信你在堆栈溢出上得到的答案,自己测试,在你的应用程序中!在Xcode下运行应用程序时,单击 工具,然后

    enter image description here

    然后测试你的一个文件移动并确认没有内存尖峰。