Quale dei seguenti due dovrei utilizzare per accertarmi che tutti i cursori siano chiusi?Idioma per chiudere un cursore
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();
}
EDIT:
alcune domande:
1. Abbiamo bisogno di chiamare close() su un cursore che ha conteggio di 0?
2. Perché in questo caso per il primo idioma, close() non verrà mai chiamato. Presume che per un cursore che non ha elementi, il cursore non verrà mai aperto. È un presupposto valido?
Si prega di avvisare.
grazie per la tua risposta! –
Non penso che usare getCount sia un buon metodo. se si usa moveToFirst, è possibile ottenere prestazioni migliori – wangzhengyi
@wangzhengyi - Quella è una mossa punto validaToFirst è più performante E risponde alla domanda "c'è qualcosa nel set di risultati" ... ma l'OP ha usato getCount() nel loro esempio così io ha continuato qui. –