什么是一些优化titanium应用程序的最佳方法?

我有一个基于titanium的iOS应用程序,基本上是遵循我自己的MVC结构。 它有大约30个视图和大量的networking连接来执行API调用。 所以,应用程序似乎在除iPhone4S以外的实际设备上performance低迷。 具体来说,从多任务菜单重新启动后,应用程序将挂起大约10秒。 有小费吗?

你大多不得不关心内存泄漏。 你有一个非常重要的networking广播的主题。 简而言之; 要非常小心:

  • 避免大的全局对象:它们引用了世界,所以这些引用不会被清除
  • 消除任何循环依赖:垃圾收集器不是垃圾收集器! 它只是计数引用和杀死对象时有0参考。 对于圆形物体,总是有1个参考。
  • 避免在Ti.App上发生事件 :哎哟! 但是,要求addEventListener的对象永远在Ti.App监听器总线中。 公共汽车保留一个引用将事件发送到该对象,所以它将永远在那里,所以将其引用。
  • 小心其他事件。
  • 还要小心animation:他们有callback,有参考应用程序。 这些callback函数(所以variables)可能留在内存中,所以它的引用。

简而言之,您的应用程序必须尽可能靠近一棵没有反向引用的简单树。 在树中向上写myDownObject = null。 使用“代理”filter在您的Mac上使用HEAVILY 乐器 。 所有的titanium物体都是UIProxy。