在我的应用程序中,我正在从数据库中检索数据并显示在其中。在db中,一些表包含1000多条记录。现在我的要求是即使没有网络连接也要显示这些数据,所以我打算在用户的机器上将表存储在SQLite数据库中,但是有一个担心:
因为将包含SQLite数据库 在资源文件夹中,在项目中, 因此它将默认包含在内 在应用程序二进制所以我想要 知道申请何时会 所有这些数据都将被启动 在RAM?如果是,那么我认为这可以 导致一些问题,所以在这种情况下 有任何替代解决方案 在本地存储数据?
谢谢,
Miraaj
答案 0 :(得分:3)
不,它不会全部驻留在RAM中。启动应用程序时,应用程序包的内容(NIB文件,图像等)不会全部自动加载到内存中。资源通常按需加载。例如,视图控制器可能会调用initWithNibName:
来加载该视图的资源。
此外,除非数据库是应用程序的只读部分(除非您升级,否则永远不会更改),您可能不希望将其存储在应用程序包中 - 请改用应用程序文档目录(尽管您可能在应用程序包中包含数据库的初始“默认”副本。请参阅iOS Application Programming Guide
中的“一些重要的应用程序目录”