我正在开发使用localstorage进行离线数据存储的Ionic应用程序。
此应用中大约有30个模板。还可以添加任意数量的用户。本地存储主要用于存储3件事。首先是关于用户和最后登录用户的主要信息。用户在应用开始时显示的第二个最新通知。然后用户可以从服务器刷新它们。还有用户的聊天。
我的问题是,最近iOS 8上的内存崩溃问题都出现在iphone和ipad上。在跟踪问题原因的过程中我禁用了本地存储,然后没有出现内存警告。所以我假设本地存储可能是问题的原因。另外我认为本地存储的大小不是问题。我用过这段代码 UNESCAPE(encodeURIComponent方法(JSON.stringify(localStorage的)))的长度)。找到本地存储的大小。它永远不会超过2.5MB。主要问题可能是对本地存储数据的过度操纵。
我的查询是应该为此目的使用SQL Lite。如果是,使用cordova应用程序的最佳做法是什么。使用SQL lite会导致更多的计算开销吗?
P.S。我也考虑过使用javascript包装器进行本地存储管理(localstorageDB),但我认为内部它们也只是提供抽象的方式。我们在android上也有相同的应用程序,但android上没有内存问题。
请提供您的建议。
答案 0 :(得分:1)
您可能希望了解两件事:
ngStorage - https://github.com/gsklee/ngStorage
SQLite - http://ngcordova.com/docs/#SQLite
你遇到问题很奇怪,但你可能会做一些疯狂的操作,比你想象的更多。
这是我在Ionic Framework中编写的关于SQLite的教程:
https://www.thepolyglotdeveloper.com/2014/11/use-sqlite-instead-local-storage-ionic-framework/
希望其中一个解决方案可以纠正您的问题。
此致