2014-09-26 22 views
0

我在logcat上發現了一些非致命錯誤,但沒有行號或其他任何可以幫助我找到錯誤的錯誤。如你所見,我收到了幾個,包括Cursor finalized without prior close()Window is full,但不知道如何找到它們。如何在Android的logcat中找到非致命錯誤的位置

09-26 14:20:47.743: W/CursorWindow(2090): Window is full: requested allocation 756 bytes, free space 150 bytes, window size 2097152 bytes 
09-26 14:20:48.151: D/dalvikvm(2090): GC_FOR_ALLOC freed 1686K, 3% free 90204K/92076K, paused 108ms, total 112ms 
09-26 14:20:48.159: W/CursorWrapperInner(2090): Cursor finalized without prior close() 
09-26 14:20:48.163: W/CursorWrapperInner(2090): Cursor finalized without prior close() 
09-26 14:20:49.759: D/dalvikvm(2090): GC_FOR_ALLOC freed 910K, 2% free 91343K/92436K, paused 115ms, total 115ms 
09-26 14:20:51.127: D/dalvikvm(2090): GC_FOR_ALLOC freed 731K, 1% free 92661K/93576K, paused 70ms, total 70ms 
09-26 14:20:52.195: D/dalvikvm(2090): GC_FOR_ALLOC freed 683K, 1% free 94024K/94892K, paused 71ms, total 71ms 
09-26 14:20:53.303: D/dalvikvm(2090): GC_FOR_ALLOC freed 713K, 1% free 95360K/96256K, paused 77ms, total 77ms 
09-26 14:20:54.403: D/dalvikvm(2090): GC_FOR_ALLOC freed 706K, 1% free 96702K/97592K, paused 84ms, total 84ms 
09-26 14:20:54.755: W/CursorWindow(2090): Window is full: requested allocation 756 bytes, free space 645 bytes, window size 2097152 bytes 
09-26 14:20:55.559: D/dalvikvm(2090): GC_FOR_ALLOC freed 752K, 1% free 98000K/98936K, paused 76ms, total 76ms 

任何提示?

謝謝!

回答

0

這種類型的錯誤不是程序拋出的異常,因此不會包含堆棧跟蹤。作爲一般的經驗法則,您可以通過仔細閱讀錯誤消息並閱讀與錯誤有關的主題來找到優化代碼的方法。

據我所見,這是一個分配內存的問題。我不認爲你可以將它們指向執行流程中的特定位置,因爲它可能發生在執行的不同點。你可以考慮你的代碼,看看你是否可以找到一些內存優化的可能性。

如果你要分析你的代碼完全可能要使用像「日蝕MAT」的工具。閱讀本tutorial學習如何使用工具

0

做一個全局文件搜索尋找像文本「.query(」在您的.java文件。

這應該帶你到的地方則返回遊標和從那裏你應該能夠確定他們沒有被關閉。

相關問題