赞
踩
由于系统内存不足,无法创建Cursor,下面是出问题的代码块
public void insertCBJL(ArrayList<CBJLBean> cbjlList) {
if (cbjlList.size() > 0) {
mysql.beginTransaction();
for (CBJLBean bean : cbjlList) {
Cursor cursor = mysql.rawQuery(
"select * from cbjl_table where yhh=?",
new String[] { bean.getYhh()});
if (cursor.getCount() > 0) {
continue;
}
mysql.execSQL("insert into cbjl_table(cbcid,...,scsyql) values (?,...,?)",
new Object[] { bean.getCbcid(),...,bean.getScsyql() });
}
mysql.setTransactionSuccessful();
mysql.endTransaction();
}
}
for循环之后,在后边有一个查询语句,原本是为了方式数据重复插入到数据库的,但是有个重大纰漏,使用之后未关闭,导致内存溢出,解决方法就是及时关闭游标。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。