1

想知道 startManagedCursor() 如何作用于 / 与 db.close() 和 / 或 cursor.close() 读过文档,但我仍然对它很模糊 %-) ...并且了解 startManagedCursor() 已弃用 api >= 11. 我我必须将它用于 < android 2.3.x。

代码注释中有两个问题。谢谢 !

对不起!......所以摇滚:)

Cursor c = null;
try {           
        dbHelper.open() ;
        c = dbHelper.getMyRecords() ;
        startManagingCursor(c) ;

        if ( c.moveToFirst() ) {  uberCool (stuff, here) ; }

        dbHelper.close() ;// <** Question 1 : Is cursor also closed here ?

    } catch (Exception e) {

        Log.d ("OOPS", Caught exception: " + e.toString() ) ;

    } finally {
        // ** Question 2 : Is the close() just below redundant 
        //               - will the managed cursor just close when function
        //                 goes out of scope  ?
        if (c != null) c.close() ; 
    }
4

1 回答 1

1

我的理解是托管游标归活动所有。我用过一个ListView里面有一个ListActivity. 这样做的主要原因是,ListViewCursor. 我相信当管理它的人被杀死时,它就被Cursor关闭了。Activity在 finally 块中调用close()可能是多余的。首先取决于我的假设是否正确,以及何时执行此代码。

于 2013-03-07T01:01:51.440 回答