Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
除了内存泄漏之外,还有什么会随着时间的推移降低iOS应用程序的速度?_Ios_Swift - Fatal编程技术网

除了内存泄漏之外,还有什么会随着时间的推移降低iOS应用程序的速度?

除了内存泄漏之外,还有什么会随着时间的推移降低iOS应用程序的速度?,ios,swift,Ios,Swift,我有一个应用程序,它向许多不同的视图添加了许多UIClass。视图将被删除并再次添加但使用应用程序一段时间后,应用程序开始变慢。重新加载所有内容,包括Viewcontroller,没有任何帮助 问题是,我不知道什么会减慢应用程序的速度应用程序的内存使用量没有增加,CPU使用量也没有增加。看起来这个应用程序做任何事情都比较慢。视图需要更长的时间才能添加到视图中,以此类推 我是否可以检查哪些因素会导致应用程序随着时间的推移而变慢?我知道这个问题很广泛,但也许你们中的某个人可以告诉我看的方向。我没有主

我有一个应用程序,它向许多不同的视图添加了许多UIClass。视图将被删除并再次添加但使用应用程序一段时间后,应用程序开始变慢。重新加载所有内容,包括Viewcontroller,没有任何帮助

问题是,我不知道什么会减慢应用程序的速度应用程序的内存使用量没有增加CPU使用量也没有增加。看起来这个应用程序做任何事情都比较慢。视图需要更长的时间才能添加到视图中,以此类推


我是否可以检查哪些因素会导致应用程序随着时间的推移而变慢?我知道这个问题很广泛,但也许你们中的某个人可以告诉我看的方向。我没有主意了。

抽象地回答这样的问题很难


我建议使用Instruments工具并运行时间配置文件。这可以让你看到你的应用程序在哪里花费了大部分时间。您应该能够运行应用程序一段时间,并看到罪犯在运行应用程序时花费越来越多的时间。

抽象地回答这样的问题很难


我建议使用Instruments工具并运行时间配置文件。这可以让你看到你的应用程序在哪里花费了大部分时间。您应该能够运行应用程序一段时间,并看到罪犯在您运行应用程序时花费的时间越来越多。

我知道这个问题非常广泛。对不起。但我使用了所有的仪器工具,但没有结果。发生的事情和以前完全一样,只是速度较慢。乐器不是魔法。它是一个工具,让你知道发生了什么。你需要研究结果,看看额外的延迟是从哪里来的。我知道这个问题涉及面很广。对不起。但我使用了所有的仪器工具,但没有结果。发生的事情和以前完全一样,只是速度较慢。乐器不是魔法。它是一个工具,让你知道发生了什么。你需要研究结果,看看额外的延迟是从哪里来的。一定是你没有看到的泄漏。。保持循环?覆盖
dealloc
并打印控制器是否已解除分配。对每个视图也执行此操作,并查看哪些视图未解除分配。内存碎片也是一个原因,但我不知道怎么做。时间档案器的另一个替代方法是创建应用程序的副本并开始剥离,例如,用低开销存根逐个替换,在每次迭代时重新测试应用程序,另外,系统中是否有其他东西会随着时间的推移消耗更多的CPU,从而剥夺应用程序的运行时间或争夺某些共享资源?根据其他评论,您将不得不提出具体的工作流程,您可以对其进行时间标记,并检查它们花费了多少时间,并将这些时间分解为较小的操作,看看您是否可以确定某些特定的操作是否需要更长的时间。必须是您没有看到的泄漏。。保持循环?覆盖
dealloc
并打印控制器是否已解除分配。对每个视图也执行此操作,并查看哪些视图未解除分配。内存碎片也是一个原因,但我不知道怎么做。时间档案器的另一个替代方法是创建应用程序的副本并开始剥离,例如,用低开销存根逐个替换,在每次迭代时重新测试应用程序,另外,系统中是否有其他东西会随着时间的推移消耗更多的CPU,从而剥夺应用程序的运行时间或争夺某些共享资源?根据其他评论,您将不得不提出具体的工作流程,您可以对其进行时间标记,并检查它们花费了多少时间,然后将这些时间分解为较小的操作,并查看是否可以隔离某些特定的操作是否需要更长的时间。