Я использую sql lite, и я обычно запрашиваю 1 таблицу. Это плохо, если я делаю запрос из основного потока ui?
спасибо
Это зависит. Если ваша таблица действительно большая, для выполнения запроса может потребоваться время, и это может вызвать заметное отставание в вашем приложении. Кроме того, вы говорите, что обычно вы запрашиваете только одну таблицу, так что это оставляет больше запросов на дополнительные таблицы.
Как правило, я выполняю большую работу, например, запросы и загрузку в фоновом потоке с использованием AsyncTasks, так как даже если они не занимают очень много времени, это дает мне дополнительную свободу позже, чтобы расширить приложение без обширной перезаписи.
Да, на самом деле плохо обращаться к основному потоку пользовательского интерфейса.
http://android-developers.blogspot.com/2009/05/painless-threading.html
Это не так уж плохо, если требуется меньше одной или двух секунд, но всегда рекомендуется делать это в другом потоке.
Пожалуйста, прочитайте статью Android.
Потенциально длительные операции, такие как операции с сетью или базой данных, или дорогостоящие вычисления, такие как изменение размеров растровых изображений, должны выполняться в дочернем потоке (или в случае операций с базами данных через асинхронный запрос).
Статья продолжает описывать, что выполнение дорогостоящих операций в основном потоке может привести к ошибке «Ошибка приложения», и ОС убьет ваше приложение.
Поэтому, хотя вы можете выполнять эти операции в основном потоке, лучше всего использовать фоновые потоки.
Да, вы можете указать, что ваш запрос не займет много времени, но лучше использовать задачу Async для этого