我做了一個Swift應用程序,它在iPhone 6和6 plus上運行得非常好,但是當我在iPhone 5或更低版本上測試它時,有一些滯後現象。如何減少CPU使用率?
經過分析,我看到了高CPU /內存消耗。
我想知道是否有一些提示或最佳做法來減少這種用法?
我知道使用不同的線程非常重要,當它們不再使用時返回到空閒狀態,但我已經這樣做了。
消耗最多資源的代碼會創建一個容器(如通知中心),並帶有一些按鈕並在其下方應用模糊效果。
我做了一個Swift應用程序,它在iPhone 6和6 plus上運行得非常好,但是當我在iPhone 5或更低版本上測試它時,有一些滯後現象。如何減少CPU使用率?
經過分析,我看到了高CPU /內存消耗。
我想知道是否有一些提示或最佳做法來減少這種用法?
我知道使用不同的線程非常重要,當它們不再使用時返回到空閒狀態,但我已經這樣做了。
消耗最多資源的代碼會創建一個容器(如通知中心),並帶有一些按鈕並在其下方應用模糊效果。
我發現蘋果的這個document有很好的提示和技巧來提高性能。
還要確保您沒有在主線程上進行資源密集型的非UI工作,因爲這會導致速度較慢的設備出現滯後。
當你說
分析後,我看到了一個高的CPU /內存消耗
是使用時間簡檔儀器?
時間簡檔會告訴你到底是什麼佔用CPU資源,以及您對CPU的內核的使用,螺紋延遲等
好吧,我發現問題出在哪裏了。 我使用庫「FXBlur」來創建模糊效果。
該庫具有每秒鐘更新容器內容的功能。
我剛剛修改了代碼以刪除此功能,我的CPU使用率現在在0和3%之間振盪,而不是之前的37%。
謝謝大家的幫助。
我會看看這個文件。謝謝雨果。 – f1rstsurf
我建議你首先確保你沒有在主線程上做任何繁重的計算,然後看看文檔。 –
我用儀器更深入地探究了哪個函數超載我的CPU,並且我發現:http://imgur.com/pRIR5zU,此外,只有當我的容器下垂時纔會發生加速。 – f1rstsurf