码迷,mamicode.com
首页 > 移动开发 > 详细

android 数据库是否该关闭

时间:2014-09-25 19:12:57      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:android开发

关于android多线程数据读写请看博客:

android 多线程数据库读写

常常纠结于获取了SQLiteDatabase每次操作完是否要关闭的问题,每次关闭又怕影响性能,这里记录下SQLiteOpenHelper操作逻辑:

SQLiteOpenHelper获取getWritableDatabase,getReadableDatabase如果之前获取的SQLiteDatabase对象没有close掉,就会直接使用之前已经生成的SQLiteDatabase对象,如果之前已经close了,则会生成一个新的对象!

每次操作都关闭数据库结果,有图有真相:

bubuko.com,布布扣


打印出来的信息是db的hashcode,如果两个一样,说明是同一个对象,操作代码:

@Override
	public SQLiteDatabase getWritableDatabase() {
		SQLiteDatabase db= super.getWritableDatabase();
		Log.e("ddddBBBB","getWritableDatabase状态:"+db.hashCode()+",path:"+db.getPath());
		return db;
	}
	
	@Override
	public SQLiteDatabase getReadableDatabase() {
		// TODO Auto-generated method stub
		SQLiteDatabase db=  super.getReadableDatabase();
		Log.e("ddddBBBB","getReadableDatabase状态:"+db.hashCode()+",path:"+db.getPath());
		return db;
	}

个人觉得没必要每次操作玩都关闭db,有点消耗性能,不如弄个全局的DB,等application 结束时再关闭。



android 数据库是否该关闭

标签:android开发

原文地址:http://blog.csdn.net/cml_blog/article/details/39554401

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!