Привет Я получаю это сообщение в журнале каждый раз при выполнении запроса. Но запрос выполняется только в фоновом потоке, а таблица имеет не более 500 строк, а также я всегда применяю предел 100. Просьба не просто дать ссылку и ответить на этот вопрос.Приложение, показывающее слишком много работы в основном потоке, даже если операции выполняются в фоновом потоке
Я прочитал много ответов в SO относительно этого. Но все же это не решило мою проблему. может ли кто-нибудь дать мне надлежащую причину или решение моей проблемы?
Хореограф: пропущено 98 кадров! Приложение может делать слишком много работы над своей основной нитью.
Ниже приведен мой класс runnable, и я называю его как новый поток (новый MessageLoaderThread (limit)). Start();
private class MessageLoaderThread implements Runnable {
int limit;
ArrayList<MESSAGE_HEADER> result;
public MessageLoaderThread(int limit) {
this.limit = limit;
}
@Override
public void run() {
showProgressRing(true);
result = Helper.getRows("Select * from TABLE_NAME LIMIT "+limit);
if (result != null) {
int count = result.size();
if (count > 0) {
firstVisibleMessageSeqId = result.get(0).getsequenceId();
lastVisibleMessageSeqId = result.get(count - 1).getsequenceId();
}
}
if (result != null && result.size() > 0) {
updateAdapter(result);
}
showProgressRing(false);
}
}
Благодаря
Я не сразу вижу проблему. Возможно, потребуется полная [mcve]. – Knossos
Возможно, вы слишком много работаете внутри «updateAdapter (result)» _ –