FileDownloader icon indicating copy to clipboard operation
FileDownloader copied to clipboard

CursorWindowAllocationException

Open jhwsx opened this issue 6 years ago • 4 comments

log

android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed.
    at android.database.CursorWindow.<init>(CursorWindow.java:108)
    at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
    at android.database.sqlite.SQLiteCursor.clearOrCreateWindow(SQLiteCursor.java:309)
    at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:147)
    at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:141)
    at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:219)
    at android.database.AbstractCursor.moveToNext(AbstractCursor.java:268)
    at com.liulishuo.filedownloader.database.SqliteDatabaseImpl.find(SqliteDatabaseImpl.java:83)
    at com.liulishuo.filedownloader.database.SqliteDatabaseImpl.update(SqliteDatabaseImpl.java:158)
    at com.liulishuo.filedownloader.database.RemitDatabase.syncCacheToDB(RemitDatabase.java:100)
    at com.liulishuo.filedownloader.database.RemitDatabase.ensureCacheToDB(RemitDatabase.java:212)
    at com.liulishuo.filedownloader.database.RemitDatabase.updateError(RemitDatabase.java:219)
    at com.liulishuo.filedownloader.download.DownloadStatusCallback.handleError(DownloadStatusCallback.java:441)
    at com.liulishuo.filedownloader.download.DownloadStatusCallback.onErrorDirectly(DownloadStatusCallback.java:189)
    at com.liulishuo.filedownloader.download.DownloadLaunchRunnable.run(DownloadLaunchRunnable.java:333)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
    at java.lang.Thread.run(Thread.java:764)

jhwsx avatar Sep 09 '19 01:09 jhwsx

可以问一下这个问题你这边怎么解决吗?我这边这个异常已经top1了。目前,我想把数据库操作放在同步方法里,避免 cursor 没有被关闭。但是不太确定行不行。

jhwsx avatar Sep 23 '19 09:09 jhwsx

不仅仅是FileDownloader会报出这个问题,连我们使用的 Room 也会出现这个问题。而我们操作 Room 确实开了好多线程。

jhwsx avatar Sep 23 '19 09:09 jhwsx

现在我怀疑是这边开启子线程太多导致的,但是不太确信;同时,也没有找到复现的办法。

jhwsx avatar Oct 08 '19 07:10 jhwsx

(⊙o⊙)… are u ok? I found the same bug image

Shimingli avatar Aug 04 '21 01:08 Shimingli