Я хочу знать, что происходит за кулисами, которые вызывают это исключение «SQLiteDatabaseLockedException», которое должно быть сброшено с сообщением «база данных заблокирована».В Android, вызывающем исключение SQLiteDatabaseLockedException
Я не прошу разрешения этого исключения (потому что я уже сделал это.) Я хочу знать, как все работает в фоновом режиме. Я прошел через исходный код классов SQLiteOpenHelper и SQLiteDatabase. Оба эти класса являются потокобезопасными, поскольку методы синхронизируются (или используют синхронизированный блок).
Я не нашел строки, в которой говорится: «Бросьте новое SQLiteDatabaseLockedException (« база данных заблокирована »). Я также читал классы, которые упоминаются в SQLiteDatabase, например SQLiteConnection, SQLiteConnectionPool, но не нашли ничего полезного. Я где-то читал в Интернете, что SQLite поддерживает свою внутреннюю блокировку. Это означает, что на родные библиотеки SQLite?
Пожалуйста, кто-то подробно объясняет, что происходит за кулисами. Спасибо.
Как правило, такое исключение получено, когда вы пытаетесь открыть базу данных, пока она уже открыта. Самая лучшая практика говорит, что всегда закрывайте свой дБ, когда он больше не используется. – Ravi
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4_r1/android/database/sqlite/SQLiteDatabaseLockedException.java – Amsheer
Отображаются номер строки и имя класса в logcat .. –