首页 > 移动平台 > 详细

android 数据库是否该关闭

时间:2014-09-25 18:20:48      阅读:300      评论:0      收藏:0      [点我收藏+]

关于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 数据库是否该关闭

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!