现在位置 >首页 > 所有2012年08月文章
0℃
2012年08月29日 Android, 操作系统 ⁄ 被围观 1,170 次+
应用程序初始化时需要批量的向sqlite中插入大量数据,单独的使用for+Insert方法导致应用响应缓慢,因为 sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。我的应用初始5000条记录也就是要5000次读写磁盘操作。 而且不能保证所有数据都能同时插入。(有可能部分插入成功,另外一部分失败,后续还得删除。太麻烦) 解决方法: 添加事务处理,把5000条插入作为一个事务   我们使用SQLite的事务进行控制: db.beginTransaction();  //手动设置开始事务 try{ //批量处理操作 for(Co...
阅读全文

Wopus问答

0℃
2012年08月29日 数据库 ⁄ 被围观 842 次+
事务 事务定义了一组SQL命令的边界,这组命令或者作为一个整体被全部执行,或者都不执行。事务的典型实例是转帐。 事务的范围 事务由3个命令控制:BEGIN、COMMIT和ROLLBACK。BEGIN开始一个事务,之后的所有操作都可以取消。COMMIT使BEGIN后的所有命令得到确认;而ROLLBACK还原BEGIN之后的所有操作。如: sqlite> BEGIN; sqlite> DELETE FROM foods; sqlite> ROLLBACK; sqlite> SELECT COUNT(*) FROM foods; COUNT(*) 412 上面开始了一个事务,先删除了foods表的所有行,但是又用ROLLBACK进行了回卷。...
阅读全文
0℃
最近发现一个问题,有时候对一个Android项目反复的Add jar和remove jar,发现编译可以通过,但是运行起来当应用到外部jar的对象时,会抛出java.lang.NoClassDefFoundError异常。导致程序奔溃。 查看项目属性,发现java build path里比正常的项目少了Android Dependencies这一项: 通过和丢失之前的项目进行比对,发现差别在于工程根目录下的.classpath文件,<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>这里的exported变成了false,于是把这里改回true,然...
阅读全文
×
腾讯微博