cache_eraseImp_nolock在iOS 7中占用很长时间 [英] cache_eraseImp_nolock taking very long in iOS 7
问题描述
我有一个已经投入生产一段时间的应用程序,但在iOS 7上,在与应用程序交互一段时间后,转换有明显的延迟。我使用时间分析器来查看需要多长时间,而 cache_eraseImp_nolock
似乎是罪魁祸首。 (它比 objc_msgSend
花费更多时间!)看起来这是在视图控制器转换发生时调用的。 (推动视图控制器,呈现模态视图控制器等)
I have an app that's been in production for a while, but on iOS 7 there is a noticeable delay in transitions after interacting with the app for a bit. I used time profiler to see what's taking long, and cache_eraseImp_nolock
seems to be the culprit. (It's taking more time than objc_msgSend
!) It seems like this is called when view controller transition happens. (Pushing a view controller, presenting a modal view controller, etc.)
有没有人看到类似的东西?我该怎么做才能防止出现这个问题?
Did anyone see something similar? What can I do to prevent this problem?
我正在尝试使用从头开始构建的应用程序重现此问题,但到目前为止还没有运气。
I'm trying to reproduce this issue with an app built from scratch, but no luck so far.
推荐答案
iOS 7.0已逐步淘汰UIAppearance并在某些情况下使其不稳定。检查您对基于UIAppearance的API的调用,并在必要时删除它们。 *
iOS 7.1似乎修复了很多错误之前并加速了UIAppearance与运行时的交互。不过,自iOS 6以来,UIAppearance的语义发生了巨大变化。请谨慎行事。
iOS 7.1 seems to have fixed a lot of what was wrong before and sped up UIAppearance's interactions with the runtime. Still, the semantics of UIAppearance have changed drastically since iOS 6. Exercise caution.
* iOS 7 beta SDK只是部分正确出去了
这篇关于cache_eraseImp_nolock在iOS 7中占用很长时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!