2009-01-02 79 views
6

要明確,這是一個普通的iPhone應用程序,而不是遊戲。如何減少典型iPhone應用程序的啓動時間?

我已經在網上閱讀了幾次,有些開發者提到他們正在努力改善/減少他們應用程序的啓動時間,但從來沒有提供關於如何這樣做的良好背景信息。

所以問題很簡單:如何減少iPhone應用程序的啓動?

回答

7

與其他任何性能問題相同:使用Shark和/或工具來識別代碼中的瓶頸,然後專注於如何加速該問題。每個工具都會爲您提供一個代碼花費多少時間的圖片,因此一般方案是在啓動應用程序時運行該工具,然後仔細分析數據以查看性能發生的位置。

在應用程序啓動時,最有可能進行改進的候選對象將推遲數據加載,直到實際需要時爲止,這些加載被不同地描述爲「按需」或「延遲」加載。本質上,不要在應用程序啓動時加載任何數據,除非實際需要當應用程序加載。在實踐中,可能需要的很多東西在某個時間點不必在應用程序啓動時立即可用。例如,如果您有一個包含N個記錄的數據庫,但一次只能看到一個記錄,請不要在應用程序啓動時將所有N加載到內存中。加載任何當前記錄,然後在實際需要時加載其他記錄。

0

詹姆斯湯姆森做了一個很好的博客文章記錄他的efforts to make PCalc launch faster

特別感興趣的是,他在上次應用程序運行時使用了帶有截圖的圖像,以便在加載應用程序的其餘部分時使用與Default.png相同的技巧。