2013-07-08 35 views
0

我的手机上运行我的应用程序罚款光标其职位API 11敲定尚未停用或关闭或数据库未关闭错误

然而,当我在模拟器(版本2.2或API 8)跑,我得到以下expcetion为我的sql lite电话

Finalizing a Cursor that has not been deactivated or closed or database not closed error 

任何想法为什么或如何解决这个问题?

感谢

回答

0

当你用光标做,你需要调用Cursor.close()。将它关闭不会导致内存泄漏。例如:

Cursor cursor = null; 
try { 
    cursor = getContentResolver().query(myUri, MY_PROJECTION, null, null, null); 
    if (cursor != null && cursor.moveToFirst()) { 
     // moar code 
    } 
} finally { 
    if (cursor != null) { 
     cursor.close(); 
    } 
} 
+0

哦真的吗?我很惊讶所有的SQL Lite和教程的例子从来没有谈论关闭它。 – Snake

+0

那么,现在你有一个提到它的例子:) – ozbek