【问题标题】:What are some of the best ways to optimize a Titanium app?优化 Titanium 应用程序的最佳方法有哪些?
【发布时间】:2012-02-02 16:19:11
【问题描述】:

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

【问题讨论】:

    标签: ios titanium appcelerator


    【解决方案1】:

    您主要需要关心内存泄漏。您对此主题有一个非常重要的webcast。 简而言之;非常小心:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-16
      • 2011-01-01
      • 2021-10-30
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多