手记

Android 性能优化--数据库优化异步线程(四)

Sqlite是常用于嵌入式开发中的关系型数据库,完全开源。

与Web常用的数据库Mysql、Oracle、sql server不同,Sqlite是一个内嵌式的数据库,数据库服务器就在你的程序中,无需网络配置与管理,数据库服务端和客户端运行在同一程序中,减少网络访问的消耗,简化了数据库管理,不过Sqlite在并发、数据库大小、网络方面存在局限性,并且为表级锁,所以也没必要多线程操作。

在android中数据不多时表查询可能耗时不多,不会anr,不过大于100ms时同样会让用户感觉到延时和卡顿,可以放在线程中运行。

但Sqlite在并发方面存在局限,多线程控制较麻烦,这时候使用单线程持,在任务执行db操作,通过handler返回结果和ui线程交互,既不会影响UI线程,同样也能防止并发带来的异常。

示例代码如下:

原文链接:http://www.apkbus.com/blog-783674-61165.html

1人推荐
随时随地看视频
慕课网APP