错误信息
The connection pool for database '/data/data/com.app.test/databases/test-db' has been unable to grant a connection to thread 9734 (pool-3-thread-2) with flags 0x2 for 30.001001 seconds.
Connections: 1 active, 0 idle, 1 available.
Requests in progress:
executeForCursorWindow started 29982ms ago - running, sql="<<Complex SQL Query with an average of 3 LEFT JOINS>>"
我们在应用程序中使用了ROOM和LiveData。在这个片段中,有多个观察者(大约9个观察者)。对于每个观察到的LiveData,都有:
Transformations.switchMap()
Transformations.map()
- 每个模型都有
@Embedded
注释,并且有些模型具有多个@Relation
注释。
观察结果
- 错误消息会一直在LogCat中出现,直到我强制停止应用程序。
- 所有其他查询都无法正常工作。
测试环境
- ASUS Nexus 7(Android 5.1.1)- 100%可复制
- Lenovo Tab 7(Android 7.0)- 仅体验1次
我做了一些研究,但没有人使用ROOM并遇到这个问题。