こんにちは私はこのクエリを実行するたびにこのメッセージをログに記録しています。しかし、クエリはバックグラウンドスレッドのみで実行されており、テーブルには500行もありません。また、常に限界値100を適用します。 単にリンクを張っておき、この質問にすでに回答しているとは限りません。バックグラウンドスレッドで操作が実行されていても、メインスレッドであまりにも多くの作業を行っているアプリケーションが表示されます
私はこれに関して多くの回答を読んでいます。しかしそれでも私の問題は解決しなかった。誰か私の問題に私に適切な理由や解決策を与えることができますか?
振付師:98フレームをスキップ!アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。
以下は私のrunnableクラスです。新しいThread(new MessageLoaderThread(limit))のように呼びます。私はすでに多くの質問を読んでいることを知っている
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)"内であまりにも多くの作業をしている可能性があります_ –