Android Sqlite ANR 问题解决及其事物处理 -- waiting on (a java.lang.VMThread) held by tid=1 (main)

本文探讨了Android应用中SQLite引发ANR的问题,指出由于在事务处理过程中VMThread持有锁导致等待。解决方案是在endTransaction()之后再进行查询操作。详细介绍了SQLite事务处理机制,包括beginTransaction()、setTransactionSuccessful()和endTransaction()的使用,强调在批量插入数据时正确使用事务以提高性能并确保数据一致性。
摘要由CSDN通过智能技术生成

错误日志

The connection pool for database '/data/data/com.meelive.ingkee/databases/Ingkee45997756' has been unable to grant a connection to thread 1 (main) with flags 0x5 for 30.000002 seconds.
                                                                        Connections: 0 active, 1 idle, 0 available.
"main" prio=5 tid=1 ·
  | group="main" sCount=1 dsCount=0 obj=0x41ad2de0 self=0x41a86130
  | sysTid=3866 nice=0 sched=0/0 cgrp=default handle=1074348420
  | state=S schedstat=( 22153833728 1885119937 37454 ) utm=1925 stm=290 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41ad2eb0> (a java.lang.VMThread) held by tid=1 (main)
  at java.lang.Thread.parkFor(Thread.java:1212)
  at sun.misc.Unsafe.park(Unsafe.java:325)
  at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值