2009-12-23 219 views
0

我正在使用一種結果搜索引擎,問題是要記住搜索條件我做了單一的靜態類只保留一個實例。android應用程序內存泄漏

在我的應用程序中有很多類級別的私有變量,大量的公共靜態變量,一個只包含靜態最終方法的大型util類。

問題是我的應用程序在任何地方碰到任何有趣而且有趣的事情是崩潰代碼總是被try {} catch(Throwable e){}塊包圍,但從來沒有捕獲,我認爲這可能是內存完整問題。

我想討論一個示例,在結果頁上我還顯示結果相關的圖像,我從網上下載圖像,並使用drawable將圖像放置在imageview中,我創建了靜態哈希圖來重用圖像, 5圖像應用程序崩潰一些時候點擊一個結果獲取用戶到新的詳細信息屏幕獲取崩潰和所有的代碼被try catch塊包圍,我是移動程序新手,這件事情已經成爲我的夜母馬。

最後一件事情,在仿真器上幾乎沒有應用程序崩潰,但是當我嘗試在設備上測試應用程序時,我使用三星glaxy android支持測試應用程序,它變得非常平實,並且突然它開始崩潰,並且在崩潰之後android重新啓動在每次點擊時拋出空指針異常,並通過嘗試捕獲{} catch {}塊我認爲在崩潰後android處理所有對象只保留UI對象這就是爲什麼當崩潰後我自動啓動活動點擊會導致空指針異常。

我該如何停止重新啓動墜毀的活動?

+2

LogCat輸出說什麼? – CaseyB

回答

1

這裏有一些建議,可以幫助追蹤您的問題(S):

  • 介紹登錄 - 使用Log記錄有用(調試)信息
  • 避免空的catch塊 - 使用Log.e()記錄您的例外
  • 將功能降至最低以進行調試

爲了在Stackoverflow上得到一個有用的答案,你必須完成以上所有操作並提供更詳細的問題描述(例如, logcat輸出中的特定棧跟蹤)。

此外,有一篇關於Avoiding Memory Leaks的文章可能會對您有所幫助。

+0

雖然這樣做,你可能會自己找到問題的原因。 – ChrisF

+0

@josef我很欣賞你的答案,但你已經在2009年回答了所以請如果你有任何新的要點需要掩蓋這個讓我知道,因爲我分析我們現有的應用程序是在Android平臺。 – Herry