房间:插入很多行

时间:2018-05-20 09:59:24

标签: android database android-sqlite android-room android-cursor

我有一个表中有近2600行的SQLite DB,而在另一个表B中,我想为第一个表中的2600行中的每一行插入一行,但是从表A中获得一个外键。 因此,我正在做的是查询表A中的每一行并在表B上插入一个新行。 我正在使用Room而我遇到的问题是我收到以下错误:

W/zygote64: Long monitor contention with owner RxCachedThreadScheduler-606 (12747) at void android.database.sqlite.SQLiteConnectionPool.releaseConnection(android.database.sqlite.SQLiteConnection)(SQLiteConnectionPool.java:364) waiters=499 in android.database.sqlite.SQLiteConnection android.database.sqlite.SQLiteConnectionPool.waitForConnection(java.lang.String, int, android.os.CancellationSignal) for 3.683s

(这不仅发生一次,而且发生过几次):

SQLiteConnectionPool: The connection pool for database '/data/user/0/me.manulorenzo.kreepty.debug/databases/coin-db' has been unable to grant a connection to thread 2192 (RxCachedThreadScheduler-180) with flags 0x1 for 33.655003 seconds. Connections: 0 active, 1 idle, 0 available.

其他时候,我得到了:

android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=923 (# cursors opened by this proc=1) at android.database.CursorWindow.(CursorWindow.java:108)

老实说我不知道​​该怎么做,因为我不认为数据库中有2600行很多,而且我想不出用外键插入行的任何其他方式。

非常感谢任何帮助!提前谢谢!

0 个答案:

没有答案