UIView 在后台调用 drawRect
Posted
技术标签:
【中文标题】UIView 在后台调用 drawRect【英文标题】:UIView's drawRect Calls When Backgrounded 【发布时间】:2012-04-26 13:29:44 【问题描述】:我正在开发一个多任务应用程序,该应用程序在被发送到后台后会继续运行一段时间。我注意到当应用程序在后台时,UIView 之一中的 drawRect 方法会不断被调用。这个 drawRect 方法负责在应用程序运行时更新用户界面。
这方面的最佳做法是什么?我不想浪费 CPU 周期来绘制用户看不到的东西。
【问题讨论】:
【参考方案1】:也许这个问题的答案可能会对您有所帮助: Check if ios app is in background
检查应用程序是否在后台运行,如果是...不要绘制任何东西。
【讨论】:
感谢您的快速cmets。我也想过这个。事实上,我正在考虑使用[UIApplication sharedApplication].applicationState
来检查应用程序当前是否在后台,如果是,则从drawRect 方法返回而不做任何事情。还有其他最佳做法吗?
好吧,我想你也许可以检查有问题的视图是否可见。这样,如果应用程序处于活动状态但未显示视图(可能不需要在未显示的视图上绘制?)***.com/questions/2777438/…,您还可以节省 CPU 使用率以上是关于UIView 在后台调用 drawRect的主要内容,如果未能解决你的问题,请参考以下文章
在 SceneKit 中使用 GIFU 库播放 GIF 会导致应用程序 UI 冻结任何解决方案? UIView Animated 从后台线程调用