Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 显式关闭SQLite数据库中的Cursor,需要还是不需要?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
据我所知,在数据库关闭后,光标变为“无效”,是否同时关闭光标?这是否避免必须执行下面显示的操作? @H_874_5@ @H_874_5@例1

@H_874_5@
public void String getResultsAndReturnString() {
      String result = "";
      sqliteDatabase db = dbHelper.getReadableDatabase();
      cursor cursor = qb.query(db,projection,null,null);
      cursor.close();  <-- explicit cursor close example one
      db.close();
     return result;
  }
@H_874_5@例2

@H_874_5@
public void cursor getResultsAndReturncursor(){
   sqliteDatabase db = dbHelper.getReadableDatabase();
   cursor cursor = qb.query(db,null);
   return cursor;
}

public void cloSEOut(cursor cursor,sqliteDatabase dataBasE){
     cursor.close();   <-- explicit cursor close example two
     dataBase.close();
}

解决方法

通过关闭数据库(它仍然存在并且您可以对其执行操作)严格意义上不关闭游标,但是如您所知,关闭数据库会使游标无效.出于多种原因,您应该在使用完游标后明确关闭游标: @H_874_5@ @H_874_5@1)正如您所指出的,在关闭数据库之后,任何剩余的游标都会变得“无效”,并且不能依赖于准确的数据;

@H_874_5@2)您将在LogCat中看到警告;

@H_874_5@3)如果保持对游标的引用,则存在内存泄漏的风险;和

@H_874_5@4)关闭不再需要的资源是一种很好的编程习惯.

大佬总结

以上是大佬教程为你收集整理的android – 显式关闭SQLite数据库中的Cursor,需要还是不需要?全部内容,希望文章能够帮你解决android – 显式关闭SQLite数据库中的Cursor,需要还是不需要?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。