国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

android在異步任務(wù)中關(guān)閉Cursor的代碼方法

2020-04-11 11:59:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

查詢數(shù)據(jù)會(huì)比較耗時(shí),所以我們想把查詢數(shù)據(jù)放在一個(gè)異步任務(wù)中,查詢結(jié)果獲得Cursor,然后在onPostExecute (Cursor result)方法中設(shè)置Adapter,我們可能會(huì)想到使用Activity的managedQuery來(lái)生成Cursor,這樣Cursor就會(huì)與Acitivity的生命周期一致了,多么完美的解決方法!然而事實(shí)上managedQuery也有很大的局限性,managedQuery生成的Cursor必須確保不會(huì)被替換,因?yàn)榭赡芎芏喑绦蚴聦?shí)上查詢條件都是不確定的,因此我們經(jīng)常會(huì)用新查詢的Cursor來(lái)替換掉原先的Cursor。因此這種方法適用范圍也是很小。

我們不能直接將Cursor關(guān)閉掉,但是注意,CursorAdapter在Acivity結(jié)束時(shí)并沒(méi)有自動(dòng)的將Cursor關(guān)閉掉,因此,你需要在onDestroy函數(shù)中,手動(dòng)關(guān)閉。

復(fù)制代碼 代碼如下:

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

如果沒(méi)有在Adapter中用到Cursor,可以手動(dòng)關(guān)閉Cursor。

復(fù)制代碼 代碼如下:

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();
    }
}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 垦利县| 册亨县| 安达市| 原阳县| 青浦区| 嘉荫县| 桃园县| 开平市| 屏东市| 营山县| 客服| 江永县| 古丈县| 施甸县| 丁青县| 文成县| 正安县| 土默特右旗| 齐齐哈尔市| 英吉沙县| 阿合奇县| 张家川| 呼图壁县| 石嘴山市| 黄龙县| 灵武市| 六枝特区| 榆社县| 阿荣旗| 上杭县| 乌兰察布市| 龙胜| 金山区| 建瓯市| 桑植县| 连南| 宁强县| 彭州市| 乡城县| 始兴县| 广昌县|