2012-02-02 118 views
3

我有一個基於鈦的iOS應用程序,基本上是遵循我自己的MVC結構。它有大約30個視圖和大量的網絡連接來完成API調用。所以,似乎該應用程序在除iPhone4S之外的實際設備上表現低迷。具體來說,從多任務菜單重新啓動後,該應用程序將掛起大約10秒。有小費嗎?什麼是優化鈦應用程序的最佳方法?

回答

6

你大多不得不關心內存泄漏。關於這個問題,你有一個非常重要的webcast。 總之;要非常小心地:

  • 避免全球大對象:他們有世界上引用,所以這些引用將不會被清零
  • 消除任何圓形dependances:垃圾回收是不是一個垃圾收集器!它只是在有0個引用時對引用進行計數並殺死對象。對於圓形物體,總是有1個參考。
  • 避免事件上Ti.App:哎喲!但是,要求addEventListener的對象永遠在Ti.App監聽器總線中。公共汽車保持引用將事件發送到該對象,所以它將永遠存在,所以它將成爲它的引用。
  • 小心其他事件。
  • 請注意動畫:它們具有引用該應用程序的回調。這些回調是可能留在內存中的函數(所以變量),所以它的引用也是如此。

簡而言之,您的應用程序必須儘可能靠近一棵沒有反向引用的簡單樹。當你在樹上時寫myDownObject = null。 使用'代理'過濾器在您的Mac上使用HEAVILY Instruments。所有鈦物體都是UIProxy。

相關問題