2009-11-27 49 views
0

我在程序的壓力/性能測試過程中遇到內存分配問題。在測試中,我試圖一次又一次地加載/卸載同一組資源。我得到的錯誤是「錯誤,#1000,內存不足」。堆棧跟蹤大約是URLLoader/onCompleteURLStream/readBytes。我檢查了在失敗時使用的內存,它小於程序之前使用的最大內存量。我不認爲這是由內存泄漏引起的,因爲通過時間使用的內存非常一致(在加載資源,釋放,分配等時分配)。此外,此問題隨機發生。我有點卡住了。有什麼建議麼?ActionScript的內存問題

回答

2

如果您正在使用Flex Builder,請使用flex分析器更好地瞭解各種對象正在使用的內存。

0

您還可以使用ProcessExplore for Windows或Mac的活動監視器等簡單內容來監視內存消耗情況。如果您所做的只是加載/卸載資源,並且您正在正確管理這些資源的生命週期(即刪除偵聽器,可用於垃圾收集等),那麼您應該看到一個非常一致的峯值/谷值內存圖。如果記憶力繼續上升,就會發生泄漏。如果您正在加載/卸載的資源是位圖,請特別小心,因爲位圖數據往往是閃存泄漏的主要罪魁禍首。祝你好運!

+0

使用flash的內部報告方式會更好,但不能保證flash一旦完成就會將內存返回到操作系統。 – grapefrukt 2009-11-29 21:22:35

+0

也許...但使用操作系統內存分析器將發現明顯的內存泄漏,並可能是一個很好的開始。我同意Amarghosh的觀點,儘管使用Flex Profiler是解決問題的最佳選擇。 – heavilyinvolved 2009-11-29 23:10:50