android在异步任务中关闭Cursor的代码方法

所属分类: 软件编程 / Android 阅读数: 1913
收藏 0 赞 0 分享

查询数据会比较耗时,所以我们想把查询数据放在一个异步任务中,查询结果获得Cursor,然后在onPostExecute (Cursor result)方法中设置Adapter,我们可能会想到使用Activity的managedQuery来生成Cursor,这样Cursor就会与Acitivity的生命周期一致了,多么完美的解决方法!然而事实上managedQuery也有很大的局限性,managedQuery生成的Cursor必须确保不会被替换,因为可能很多程序事实上查询条件都是不确定的,因此我们经常会用新查询的Cursor来替换掉原先的Cursor。因此这种方法适用范围也是很小。

我们不能直接将Cursor关闭掉,但是注意,CursorAdapter在Acivity结束时并没有自动的将Cursor关闭掉,因此,你需要在onDestroy函数中,手动关闭。

复制代码 代码如下:

@Override
    protected void onDestroy() {
        super.onDestroy();
        mPhotoLoader.stop();
        if(mAdapter != null && mAdapter.getCursor() != null) {
            mAdapter.getCursor().close();
        }
    }

如果没有在Adapter中用到Cursor,可以手动关闭Cursor。

复制代码 代码如下:

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开发之设置开机自动启动的几种方法

这篇文章主要介绍了Android开发之设置开机自动启动的几种方法的相关资料,这里提供三种方法帮助大家实现这样的功能,需要的朋友可以参考下
收藏 0 赞 0 分享

Android绘制圆形百分比加载圈效果

这篇文章主要为大家详细介绍了Android绘制圆形百分比加载圈效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android 两种启动模式的实例详解

这篇文章主要介绍了Android 两种启动模式的实例详解的相关资料,Activity的两种启动模式:FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT ,需要的朋友可以参考下
收藏 0 赞 0 分享

Android下载进度监听和通知的处理详解

这篇文章主要为大家详细介绍了Android下载进度监听和通知的处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android读取资源文件的方法

这篇文章主要介绍了Android读取资源文件的方法的相关资料,这里提供两种方法及实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Android EasyBarrage实现轻量级弹幕效果

本篇文章主要介绍了Android EasyBarrage实现轻量级弹幕效果,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android仿微信朋友圈全文、收起功能的实例代码

本篇文章主要介绍了Android仿微信朋友圈全文、收起功能的实例代码,具有一定的参考价值,有兴趣的可以了解一下
收藏 0 赞 0 分享

详解Android中图片的三级缓存及实例

这篇文章主要介绍了详解Android中图片的三级缓存及实例的相关资料,通过网络、本地、内存三级缓存图片,来减少不必要的网络交互,避免浪费流量,需要的朋友可以参考下
收藏 0 赞 0 分享

TabLayout使用方法详解

这篇文章主要为大家详细介绍了Android中TabLayout的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

ToolBar使用方法详解

这篇文章主要为大家详细介绍了Android中ToolBar的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多