大佬教程收集整理的这篇文章主要介绍了Android,SQLite:在while子句中插入数据非常慢,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个FTP服务器,上面有超过3,000张图片,我将图片名称保存到ArrayList.在此之后,我想将它们从arraylist保存到数据库,这需要非常非常非常的时间!看到:
同
FTPFile[] files = ftpClient.listFiles(); for (FTPFile file : files) { imagenames.add(file.getName()); }
我得到所有这些文件的列表并将它们保存到ArrayList imagenames中.
这非常快,不需要超过1 – 最多2秒.
现在我想把这个数组向后写到我的sqlite数据库.
当我这样做时,需要花费很长时间才能完成!我等了2分多钟……
int i = imagenames.size() - 1; int q = 0; while(i >= 0){ String insert_arraylist = "INSERT INTO ARRAYLIST (StriNG) VALUES ('"+imagenames.get(q)+"')"; db.execsql(insert_arraylist); i--; q++; }
那么我怎样才能加快插入速度?
提前致谢!
解决方案:(从2分钟到不到3秒;))
FTPFile[] files = ftpClient.listFiles(); insert_arraylist = ""; ContentValues con = new ContentValues(); for (FTPFile file : files) { imageUrls.add("http://192.168.99.104/GetThePicture/thumbs/"+file.getName()); } int i = imageUrls.size() - 1; int q = 0; db.begintransaction(); try{ while(i >= 0){ String insert_arraylist = "INSERT INTO ARRAYLIST (StriNG) VALUES ('"+imageUrls.get(q)+"')"; db.execsql(insert_arraylist); i--; q++; } db.settransactionsuccessful(); } catch(Exception E){ } finally { db.endtransaction(); }
以上是大佬教程为你收集整理的Android,SQLite:在while子句中插入数据非常慢全部内容,希望文章能够帮你解决Android,SQLite:在while子句中插入数据非常慢所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。