|
|
1
0
我已经探讨了将每个indexedDB保存与对IOS应用程序Documents文件夹中的一个文件的写入并行的想法,希望这样做比Caches文件夹更不容易被擦除。 在每个带有键值对的indexedDB setItem之后,我向objective-C IOS应用程序代码传递一个请求,在用app Documents文件夹创建的子文件夹中创建一个文本文件,名称为“key”.txt,内容设置为value。 在每个indexedDB removeItem之后,我向objective-C IOS应用程序代码传递一个请求,以删除相应的文本文件“key.txt”。 在每个indexedDB clearl之后,我删除上面创建的整个子文件夹。 现在,当应用程序启动并发现一个空的localfourge数据库时,我将一个请求传递给objective-C IOS应用程序代码,以测试是否存在包含关键项的子文件夹。
如果是,则这是indexedDB数据库已被删除的情况。
然后我一个接一个地请求每个密钥文件的内容,并将它们重新加载到以前空的localfouge数据库中,当这一切完成后,我可以继续,就像它没有被删除一样。 我发现在请求每个值之前,必须在javascript中使用零持续时间超时,以防止在恢复大型数据库时出现调用堆栈超出的错误。
由于数据库的大小,我实际上创建了一组不同类型密钥的子文件夹,以便我可以选择数据库项恢复的顺序,尤其是我的应用程序经常在发生重大位置变化后在后台恢复正常,在这种情况下,对应用程序进行恢复的时间有限制。当然,这种优化是可选的,只有大型数据库才需要。 下面的注释适用于那些想尝试这种方法并假设在Xcode10.1中使用Objective C的人
|
|
|
Jepoy · 如何在人脸检测到微笑时使用Ionic捕捉照片? 7 年前 |
|
|
Rashiq · 颤振-从现有android项目导入 7 年前 |
|
|
Rizwan Atta · OSX上IONIC 3中的图像许可问题 7 年前 |
|
|
bearplane · 混合应用程序开发,数据库驱动的内容 7 年前 |
|
|
Done job · 如何在本项目中为ionic中的提供程序设置路径? 8 年前 |
|
|
Sudipta Dhara · 尝试添加平台时出现Ionic 2错误 8 年前 |