Java 如何删除光标';是否完全删除数据以防止内存泄漏?

Java 如何删除光标';是否完全删除数据以防止内存泄漏?,java,android,eclipse,cursor,Java,Android,Eclipse,Cursor,我正在开发这个多次使用光标的android应用程序,但它似乎抛出了一个光标WindowAllocationExecOption。我研究了这个错误,知道这个错误是由于游标的内存溢出造成的。因此,每次使用光标后,我都会用以下方法关闭光标: try{ c.close(); } finally{ c.close(); } 据说在尝试关闭游标时使用finally是最好的,我知道在try语句中使用c.close应该包括游标的用法,但老实说,我只是希望游标无

我正在开发这个多次使用光标的android应用程序,但它似乎抛出了一个光标WindowAllocationExecOption。我研究了这个错误,知道这个错误是由于游标的内存溢出造成的。因此,每次使用光标后,我都会用以下方法关闭光标:

 try{
    c.close();
    }
    finally{
        c.close();
    }

据说在尝试关闭游标时使用finally是最好的,我知道在try语句中使用c.close应该包括游标的用法,但老实说,我只是希望游标无论如何都能关闭。因此,我将在代码块中使用游标,然后在下次使用之前将其关闭。我甚至关闭数据库以确保数据被切断。然后我打开数据库备份,并使用相同的游标从数据库检索不同的数据。这个方法可以处理3个代码块,但是当它到达第4个代码块时,它抛出游标异常。我看过很多类似的帖子,每个人都提出了相同的建议(确保光标处于关闭状态)。这就是为什么我编写了过多的代码,比如try和finally语句以及数据库关闭语句。我尽量避免发布代码,因为这样我就必须发布数百行代码才能使其有用。我希望我发布的信息足以理解我的问题。

Try/Catch不是您的答案,因为您在关闭光标时没有抛出错误。您在尝试使用时抛出了错误。这就是为什么你的代码没有效果。。。当你抛出一个从未抛出的错误时,你要求它做一些事情

由于您的问题不是由尝试使用游标直接引起的,而是尝试使用错误的游标,因此测试您正在抛出的异常也不会有帮助

您必须首先找到引发异常的原因