【发布时间】:2012-01-19 17:56:28
【问题描述】:
我今天在 TestFlightApp 上发布了我的 iPhone 应用的第一个测试版。一切都很顺利,直到我注意到应用程序的响应能力非常糟糕。肯定没有我想要的“好”本地人感觉。
我对我的内存分配/释放特别挑剔,所以我认为这不是问题。基本上,我不知道下一步该去哪里来提高我的应用程序的性能。
以下是我认为我的一些放缓可归因于:
使用 UIAppearance 自定义大多数(如果不是全部)UI 元素的外观。我使用了一种全新的字体、大量的 CAGradientLayers 以及对 CALayer 的大量编辑,以绘制漂亮的阴影。
显示地图图片和逐项列表的分组 UITableViewCell。
UITableViewCells 的布局在我每次调用 layoutSubviews 时都会更新。
具有自定义高度的 UITableViewCells。对于 heightForRowAtIndexPath 的每次调用,我都需要重构和重新布局视图,每次都返回准确的高度。
因为我以编程方式创建视图,具有较长 viewDidLoad 调用的控制器往往加载速度较慢。我可以在 init 调用中偏移哪些代码?
有没有人有任何处理这些问题的提示或技巧?或者,也许人们在发布第一个应用程序时有关于如何应对性能下降的故事?
【问题讨论】:
-
你在你的 UITableViewCell 中异步加载图片吗?
-
是的,我愿意。它们是对我的服务器的异步调用。
-
你做任何形式的后台处理吗?
-
还有……最重要的是,它是不是感觉一直呆滞,还是时断时续?
-
对我的服务器的所有调用都是异步的。呆滞取决于视图。 Tableviews 绝对是一个压力点。而且每当我有条件布局时(尤其是 UITableViewCells 很麻烦)
标签: iphone ios performance optimization memory