Android中的Cursor关闭问题
2015-08-05 14:10
525 查看
报错信息:
android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
报错原因:
每次查询完成后需要关闭 SQLiteDatabase 对象、databaseHelper 对象、Cursor对象。其中有几个中途return掉了,没有对Cursor进行关闭。
关闭Cursor时最好使用try catch,在finally中进行关闭,保证所有分支都关闭掉。
android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
报错原因:
每次查询完成后需要关闭 SQLiteDatabase 对象、databaseHelper 对象、Cursor对象。其中有几个中途return掉了,没有对Cursor进行关闭。
关闭Cursor时最好使用try catch,在finally中进行关闭,保证所有分支都关闭掉。
Cursor cursor = null; try{ cursor = mContext.getContentResolver().query(uri,null,null,null,null); if(cursor != null){ cursor.moveToFirst(); //do something } }catch(Exception e){ e.printStatckTrace(); }finally{ if(cursor != null){ cursor.close(); } }
相关文章推荐
- Android中Service(服务)详解
- android学习三:json的使用
- Android开发之注解式框架ButterKnife在ADT中的设置
- Android Api Demos登顶之路(二十)Screen Orientation
- Android使用Handler实现线程池的效果,实现照片墙应用
- android获取共享文件信息
- android模拟器访问本地ip
- Android studio gradle debug模式用Release签名
- Android 4.0 事件输入(Event Input)系统
- Android性能调优
- Android getevent/sendevent详解
- Android中添加布局和初始化布局总结
- 如何“任性”使用Android的drawText()
- Facebook工程师是如何改进他们Android客户端的
- Android中批处理drawable-xxx目录中图片资源的那些事儿
- Android Wifi锁之WifiLock
- Android中ListView包含CheckBox时滑动丢失选中状态的解决
- Android进程与内存及内存泄露
- android应用中去掉标题栏的方法
- android.os.NetworkOnMainThreadException 异常处理