我正在使用n離線應用程序,它使用localstorage作爲脫機數據存儲。Ionic應用程序崩潰問題
這個應用程序中有大約30個模板。也可以添加任意數量的用戶。本地存儲主要用於存儲3件東西。首先是關於用戶和上次登錄用戶的主要信息。第二次最新的用戶通知顯示在應用程序啓動。然後用戶可以從服務器刷新它們。還有用戶的聊天。
我的問題是,最近有iOS和iPad上的iOS 8的內存崩潰問題。在追蹤問題原因的過程中,我禁用了本地存儲,然後內存警告沒有出現。所以我假設本地存儲可能是問題的原因。另外我認爲本地存儲的大小不是問題。我用這個代碼 unescape(encodeURIComponent(JSON.stringify(localStorage)))。length);找到本地存儲的大小。它永遠不會超過2.5MB。主要的問題可能是對本地存儲數據的過度操縱。
我的查詢是應該使用SQL Lite來達到這個目的。如果是,與Cordova應用程序一起使用的最佳實踐是什麼。 SQL lite的使用會導致更多的計算開銷?
P.S.我也考慮過使用JavaScript包裝進行localstorage管理(localstorageDB),但我認爲它們在內部也是以同樣的方式提供抽象。此外,我們在android上有相同的應用程序,但沒有在android上的內存問題。
請提供您的建議。
謝謝....我想我寧願使用SQLite。但對此有一個疑問。如果我只是用SQL數據庫替換本地存儲並繼續我使用localstorage的方式(只更新當前使用本地存儲的持久性服務),這可能會增加計算開銷。對於例如有一個顯示用戶活動的視圖,並且每次加載時都會從本地存儲獲取數據。如果我使用數據庫,那麼這個獲取將變成數據庫調用。你能建議最佳實踐方案嗎? – saurabhgupta05085
您是否能夠告訴我預計在打開應用程序的前兩分鐘內發生了多少次保存/讀取請求?我真的不明白爲什麼你會得到內存錯誤,除非你的代碼是行爲不端。 –