下面哪两个应该用来确保所有游标都关闭?成语关闭游标
Cursor c = getCursor();
if(c!=null && c.getCount()>0){
try{
// read values from cursor
}catch(..){}
finally{
c.close();
}
}//end if
OR
Cursor c = getCursor();
try{
if(c!=null && c.getCount()>0){
// read values from cursor
}//end if
}catch(..){
}finally{
c.close();
}
编辑:
几个问题:
1.我们需要调用close()在具有0计数的光标?
2.因为在这种情况下,第一个习惯用法,close()永远不会被调用。它假定对于没有元素的游标,游标永远不会被打开。这是一个有效的假设吗?
请指教。
感谢您的回答! – 2010-11-11 17:19:31
我不认为使用getCount是一个好方法。如果你用户moveToFirst,你可以得到更好的性能 – wangzhengyi 2014-09-13 02:03:04
@wangzhengyi - 这是一个有效的点moveToFirst更高性能,并回答“结果集中是否有任何东西”的问题......但OP在他们的例子中使用了getCount(),所以我继续在这里。 – 2014-09-14 22:57:55