有哪些优化Titanium应用程序的最佳方法?

时间:2012-02-02 16:19:12

标签: ios titanium appcelerator

我有一个基于钛的iOS应用程序,基本上遵循我自己的MVC结构。它有大约30个视图和许多网络连接来进行API调用。因此,似乎应用程序在除iPhone4S之外的实际设备上运行缓慢。具体来说,从多任务菜单重新启动应用程序后,应用程序将挂起大约10秒。有什么提示吗?

1 个答案:

答案 0 :(得分:5)

你最需要关心内存泄漏。你对这个问题有一个非常重要的webcast。 简而言之;要非常小心:

  • 避免使用大型全局对象:它们具有对世界的引用,因此不会清除这些引用
  • 消除任何循环依赖:垃圾收集器不是垃圾收集器!当有0个引用时,它只计算引用并终止对象。对于圆形对象,始终有1个参考。
  • 在Ti.App上避免事件:哎呀!但是,在Ti.App监听器总线中,请求addEventListener的对象永远存在。总线保留了一个引用,将事件发送到该对象,因此它将永远存在,因此它将被引用。
  • 小心其他事件。
  • 请注意动画:它们具有引用该应用程序的回调。这些回调函数(因此变量)可能会保留在内存中,因此它的引用也是如此。

简而言之,您的应用程序必须尽可能靠近没有向后引用的简单树。当你进入树中时写下myDownObject = null。 使用“代理”过滤器在Mac上使用HEAVILY Instruments。所有钛物都是UIProxy。