2011-07-22 65 views
2

我正在測試我的應用程序的壓力。這是我的場景活頁夾線程,進度條和OutOfResourcesExceptions

1)從我的工作線程,我顯示一個進度條(我正在向ui上創建的處理程序傳遞消息)。我等待我的工作線程,直到pd.show()被調用,然後我恢復工作線程

2)輔助線程

3進行操作)dissmis進度對話框。再次,我傳遞一個消息給在UI上創建的處理程序,並等待工作線程,直到pd.dismiss被調用

要強調測試,我已經把它放在10000次迭代循環中。在我的Nexus上,事情大部分都很好。在星系選項卡和所有摩托羅拉設備上,經過大約50次迭代後,我的應用程序正在關閉。我看到BinderThreads慢慢增長到16並停止增長(我知道16是BinderThreads的最大限制)。在Nexus One上,這些都會在以後引發任何問題。駁回進度對話框後,我將其設置爲null,以確保它不持有任何東西:我的Galaxy Tab和摩托羅拉設備

W/WindowManager(1363): OutOfResourcesException creating surface 
I/WindowManager(1363): Out of memory for surface! Looking for leaks... 
W/WindowManager(1363): No leaked surfaces; killing applicatons! 

編輯的logcat中得到這個。

任何想法?

感謝,

Veeresh

回答

0

也許你還沒有足夠的內存來創建更多的表面!

0

在我的情況下,我有一個bug,產生了95個對話框,它們是進度條指示器的表親。因此,這導致了我的資源異常

0

嘗試禁用此活動的hw呈現。

它可以幫助防止硬件加速引起的異常。

我在我們的應用程序中最近修復了類似的問題。

但是可能很難解決這個問題的原因。 :(