Максимальный размер базы данных SQLite приложения Android в памяти? - PullRequest
7 голосов
/ 14 сентября 2010

Насколько большой может быть база данных моего приложения для Android? Есть ли предел?

Из соображений производительности и безопасности я не хочу хранить базу данных на SD-карте.

Ответы [ 2 ]

4 голосов
/ 14 сентября 2010

Насколько можно судить по чтению, нет жесткого ограничения размера sqlite db на внутреннем хранилище, кроме нормальных пределов, т.е. что запасное.

Однако некоторые люди сообщают об исключениях, возникающих в больших базах данных, хотя я еще не видел, чтобы кто-нибудь выяснил, почему.

К сожалению, внутренняя функция для сообщения о максимальном размере также не нужна для этого, она установлена ​​на 1 ТБ.

0 голосов
/ 30 ноября 2014

В Android, если ваша база данных в памяти становится слишком большой, приложение вылетает.То, что я считаю безопасным ограничением памяти, это размер, возвращаемый getLargeMemoryClass.

http://developer.android.com/reference/android/app/ActivityManager.html#getLargeMemoryClass()

Я обнаружил, что значение, возвращаемое из getLargeMemoryClass(), составляет около половина того, что полностью вылетит из приложения, но это не происходит, если другие приложения не запущены.

Например, при запуске моего большого приложения в базе данных в памяти на Nexus 7 произойдет сбой, когда база данных превысит примерноодин гигабайтНа нексусе 7 (по крайней мере, работает Lollipop) getLargeMemoryClass() возвращает 512 МБ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...