當我的應用程序接收到新數據時,我的視圖控制器發出並接收通知。視圖控制器然後重新加載其tableview的其中一個部分。這通常只需要40毫秒左右。重新載入tableview部分時的性能問題
但是,如果我推送了另一個視圖,通知仍由原始控制器處理,但tableview的重新加載時間大約需要延長10-20倍。
我當然可以改善我的tableview性能,但首先我需要了解是什麼造成了這種情況。也將非常感謝使用儀器幫助我自己調試的一些幫助。到目前爲止,我已經運行'Time Profiler'工具,它看起來像大部分的努力都花費在系統方法'[UIView(Hierarchy) layoutIfNeeded]
'中。這對我來說沒有多大意義。
你還在調用reloadSections:withRowAnimation:在控制器不在屏幕上時的表視圖上? – rdelmar
控制器仍然以正常的方式迴應這些通知,是的。這個想法是,如果用戶在其他地方發生了某些變化,則表視圖會更新。 –
當視圖不在屏幕上時,我不確定這是個好主意。也許你可以將更新數據源(這將通過通知來完成)從表視圖的更新中分離出來,並且只有當視圖在屏幕上時才執行後者。 – rdelmar