SQLite テーブルに 5000 ~ 6000 を超えるレコードがあります。このすべてのレコードを削除すると、非常に時間がかかり、画面が一時停止し、リソースの解放が開始されます。
AsyncTask で試してみましたが、それでも同じ問題です。アプリをブロックせずに、この何千ものレコードを削除する方法を誰にでも教えてください。
私はSqliteの専門家ではありませんが、一般的に3つの方法があります。
これは私がいつも使うものです。あなたの場合、2分ごとに200レコードを削除できるTopXXXdeleteステートメントを使用してください。(2分間に200を超えるレコードを挿入しないことを前提としています)。AsyncTaskは、そのようなアプローチの方法です。T-SQLでは、次のSQLを使用します。
Delete From tUser where UserId in(Select top 200 UserId From tUser where LastLoggin <GetDate()-120)