2017-07-01 26 views
0

一些用戶無法打開我的應用程序因境界DB的是超過1 GB大小。我相信這是由於未封閉的實例從未壓縮(可能是線程問題)。我能夠將領域文件從設備中取出並使用Realm Browser進行檢查。但是,我只能找到大約10K條記錄。有沒有什麼辦法讓我分析文件來確定數據庫中有多少個實例?我可以確定Realm數據庫文件內的實例數量嗎?

我讀過,在境界的iOS,數據庫文件不能超過分配給應用程序的內存量較大。這個限制是否適用於Android/Java?這是我的預感,但我沒有確認。 https://realm.io/docs/objc/latest/#general-limits

回答

1

如果應用被關閉,還有就是文件本身,即最新的內部境界永遠只能一個實例。

大小的問題體現在正在運行的應用程序,我們必須跟蹤最古老和最新版本之間的差異。如果舊版本從未在正在運行的應用程序中發佈,則會導致文件大小膨脹。

這成爲了問題的原因是該領域不會自動再次釋放這個空間,但保留以備將來需要。手動調用Realm.compactRealm(config)將刪除此空間。我們都在爲自動執行此操作添加功能的過程:https://github.com/realm/realm-java/issues/3739

關於大小限制:境界內存映射數據庫文件。實際上,這意味着一旦文件達到〜400 MB時,舊的32位設備將拒絕打開它,但根據設備的不同,它會有所不同。對於64位設備沒有實際的限制。過去3年的大多數新設備都是64位設備。

相關問題