Моя программа довольно регулярно взаимодействует с SQLite, и в начале приложения я вызываю запрос
mDatabase.rawQuery("SELECT key,
indice as _id
FROM Dictionary",null);
Странно, но приложение останавливается при выполнении этой строки.Этого не происходит, если я отлаживаю приложение, но когда я запускаю приложение, элемент управления выходит из этой строки и никогда не возвращается.Я проверил это, поставив logcat до и после этой строки.Я не был в состоянии понять это поведение.Может ли кто-нибудь помочь?
PS В таблице Dictionary
содержится более 2000-3000 записей.
РЕДАКТИРОВАТЬ: я пытался вызвать это как из пользовательского интерфейса и отдельных потоков.В любом случае выполнение останавливается на этом вызове (для этого потока).Поэтому, когда я вызываю его из другого потока, хотя ANR отсутствует, вызов все равно не удается и удерживает поток бесконечно.
EDIT2: эта проблема возникает не каждый раз, когда я запускаю приложение, а 5 из 10 раз,И, видимо, больше происходит на более слабых телефонах.