2
我的應用程序有時會經歷2-10秒的延遲,同時在複雜的視圖中拖動對象。在某些情況下,延遲足以導致出現等待光標(死亡旋轉披薩)。如何診斷拖動過程中的意外延遲?
時間事件探查器沒有發現任何非常顯着的事情 - 只是預期的繪圖調用會在對象被拖動時更新視圖。 (這是很多計算,但我在暫停期間和暫停期間看到配置文件沒有明顯差異。)
內存分析器顯示暫停沒有什麼特別的。分配在整個阻力中似乎是平坦的。泄漏很乾淨。 (我最初的假設是我旋轉了太多的自動釋放對象,但這似乎不是問題。)
活動監視器指出,在拖動過程中我幾乎用盡了一個核心重繪。這就是我所期望的。
關於下一步看什麼的任何想法?
任何機會的任何代碼路徑接觸磁盤? – joerick 2013-03-05 22:59:13
或者如果您的內存使用率很高,某些應用程序內存可能已換出到磁盤,則需要一段時間才能再次訪問它... – joerick 2013-03-05 23:01:17
暫停從2秒到10秒 - 我認爲這就是真的太長時間了,即使是大型虛擬機的命中。活動監視器不顯示任何磁盤使用率峯值。 – 2013-03-06 01:00:44