我刚刚将我的 Android 应用程序的 targetSDK 升级到 34 并发布了它。 大约一周后,我最常见的崩溃之一是
CursorWindowAllocationException
,堆栈跟踪如下。
即使在 stackoverflow 或其他网站上阅读了类似的报告问题,我也找不到重现它或找到其确切原因的方法。 有人有任何线索吗?
android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed.
at android.database.CursorWindow.<init>(CursorWindow.java:110)
at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:138)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:132)
at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:219)
at android.database.AbstractCursor.moveToNext(AbstractCursor.java:268)
at androidx.room.InvalidationTracker$1.checkUpdatedTable(InvalidationTracker.java:463)
at androidx.room.InvalidationTracker$1.run(InvalidationTracker.java:433)
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:784)
将我的应用程序更新到目标 SDK 34 后,我遇到了相同的问题,具有相同的堆栈跟踪。