我有一个基于钛的 iOS 应用程序,它基本上遵循我自己的 MVC 结构。它有大约 30 个视图和大量网络连接来进行 API 调用。因此,该应用程序在除 iPhone4S 之外的实际设备上似乎表现缓慢。具体来说,从多任务菜单重新启动应用程序后,该应用程序将挂起大约 10 秒。有小费吗?
您主要需要关心内存泄漏。你有一个非常重要的webcast就此主题而言。
简而言之;要非常小心:
- 避免大型全局对象:它们具有对世界的引用,因此这些引用不会被清除
- 消除任何循环依赖:垃圾收集器不是垃圾收集器!它只是计算引用数并在引用数为 0 时杀死对象。对于圆形物体,始终有 1 个参考。
- Avoid events在 Ti.App 上:哎哟,太糟糕了!但请求 addEventListener 的对象永远位于 Ti.App 监听器总线中。总线保留一个引用来将事件发送到该对象,因此它将永远存在,它的引用也将永远存在。
- 小心其他事件。
- 还要小心动画:它们具有引用应用程序的回调。这些回调是可能保留在内存中的函数(即变量),其引用也是如此。
简而言之,您的应用程序必须尽可能接近没有向后引用的简单树。当你在树中向上时写 myDownObject=null 。
大量使用仪器在您的 Mac 上,使用“代理”过滤器。所有钛对象都是 UIProxy。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)