一個良好性能的 WatchKit 應(yīng)用程序要求在 iPhone 和蘋果手表之間以最小流量進行信息傳遞。
你的 WatchKit 應(yīng)用應(yīng)該只更新那些改變了的值而不是控制器屬性中的重載值。尤其是在操作表中行的時候,只是更新,添加或是移除你更改的內(nèi)容,而不是重新加載整個表。
為了優(yōu)化你的 WatchKit 應(yīng)用程序的啟動時間,使您的應(yīng)用程序更加有效,應(yīng)該在控制器顯示給用戶后,加載控制器的最初可見區(qū)域下方的內(nèi)容。通過使用 WKInterfaceController willActivate: 內(nèi)的 dispatch_async 方法,你可以推遲設(shè)置特定的內(nèi)容,直到控制器已經(jīng)顯示出來。
為了減少分頁控制器的運行時間,在第一次調(diào)用每個控制器的 willActivate: 時要盡可能完成全部的設(shè)置工作。第一次調(diào)用時,管理狀態(tài)和方法只是針對設(shè)置內(nèi)容的。當(dāng)分頁處理器被初始創(chuàng)建的時候在第一頁調(diào)用 willActivate: 之前的每一頁都調(diào)用 init: 和 awakeWithContext: 方法。 給用戶顯示第一頁之前,該系統(tǒng)將等到在 init: 和 awakeWithContext:方法中所有頁面都做完設(shè)置工作。
通過盡可能減少隱藏的對象的數(shù)目以顯著提高裝載時間。舉個例子來說,一個控制器布局在一個控制器場景中的五個版本,將會導(dǎo)致在控制器被顯示之前,所有對象會被創(chuàng)建。
確保創(chuàng)建合適數(shù)量的表行來進行初始顯示,并延遲附加行的加載直到 willActivate: 完成。在控制器顯示前所有表行被創(chuàng)建,并且你定義越多表行則控制器顯示時間越長。