##本文转载自

SQLite数据库本身不具有线程安全性
Android SQLiteDatabase提供了线程安全的保证,里面添加了同步逻辑。
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#setLockingEnabled(boolean)
http://stackoverflow.com/questions/6675240/is-sqlite-database-instance-thread-safe

我们操作数据库一般使用ContentProvider,SQLiteOpenHelper,应用中使用SQLiteDatabase db = SQLiteOpenHelper.getReadableDatabase(),这个db需要调用db.close()或者openHelper.close()方法吗?

不需要。

为什么?
http://stackoverflow.com/questions/4547461/closing-the-database-in-a-contentprovider?lq=1
ContentProvider随它的宿主进程创建,与该进程有相同的生命周期,所以不需要手动去关闭,在内核清理进程资源的时候会将它一起清理,也就是这时候关闭的。

A content provider is created when its hosting process is created, and remains around for as long as the process does, so there is no need to close the database – it will get closed as part of the kernel cleaning up the process’s resources when the process is killed.

更多相关文章

  1. Android(安卓)SQLite是线程安全的吗?
  2. Android学习笔记之mainfest文件中android属性
  3. android 9.0 bindService绑定Servcie的过程分析
  4. Android进度条、自动提示框、下拉框动态数据加载
  5. Android(安卓)关键字 收集
  6. Android(安卓)进程和线程
  7. 如何使Android应用程序获取系统权限
  8. android下的android.os.StrictMode$AndroidBlockGuardPolicy.onN
  9. Best Practice For Android

随机推荐

  1. 在应用程序使用android google搜索功能
  2. [置顶] android 内存泄露那些事情之Handl
  3. android 搜索时关键字变色
  4. android 设置屏幕亮度
  5. android 百度地图 画轨迹
  6. android junit
  7. android用异步操作AsyncTask编写文件查看
  8. Android(安卓)的toolbar设置返回事件
  9. android cmd
  10. 临时