我的應用程序在啓動過程中需要很長時間,而顯示啓動畫面。我認爲這是由於iOS需要加載的大小,包括庫。我的問題是,我可以加載那些用戶真正想要使用它的時刻,所以它會縮短啓動時間嗎? 還有其他方法可以縮短嗎? 非常感謝。我是否可以延遲加載我的庫,以便它們不會延遲我的應用程序啓動?
回答
所有第三方庫靜態鏈接到您的應用程序。理論上你可以懶加載只有蘋果自己的弱綁定庫。我不知道如何在iOS上控制此過程。這在Mac上當然是可能的。
當然,只要你不需要他們直接。
LazyLoad並不侷限於你的應用,例如,如果你有一個巨大的Opengl場景,你可以選擇不放置它的紋理,直到用戶真正點擊你需要的按鈕。
這樣做的缺點是,打開任何需要延遲加載的等待時間將會進一步向下移動(當用戶想玩時,他會有更長的加載時間)。
你可以嘗試的是啓動Thread來處理啓動時的加載,並且從你執行setBooleanLibXFinishedLoading的線程開始,你的應用程序只需要等待所有booelan被設置爲繼續。 這應該會減少用戶的明顯等待時間,同時優化實際花費的時間。
希望這有助於
傑森
感謝您的回覆傑森。從你的評論這個問題來找我:我怎樣才能避免在一開始iOS加載libreries?我以後如何加載它們?非常感謝。 – toupper 2011-05-18 15:23:34
好的,你可以添加一個你稱之爲加載庫的例子嗎? (對不起,我現在主要在android上工作,所以我在IOS上有點生疏) – 2011-05-18 15:55:38
我的假設是iOS在啓動時加載了我們添加到項目中的框架和庫(例如libGoogleAnalytics.a)。我不在代碼中加載它們,只導入文件。也許有人嘗試過,可以在這方面糾正我。 – toupper 2011-05-19 11:39:18
- 1. 我可以延遲window.open()嗎?
- 2. 我的流利nHibernate應用程序不是延遲加載
- 3. 是否可以延遲window.load?
- 4. 是否可以在Dartlang中使用Polymer應用程序的延遲加載?
- 5. 我們可以用延遲重啓來構建Mac安裝程序嗎?
- 6. 如何延遲MainPage,以便在數據加載後啓動?
- 7. 我可以延遲jQuery addClass嗎?
- 8. 應用程序啓動延遲
- 9. GWT。延遲啓動應用程序
- 10. 延遲我的jQuery加載腳本
- 11. 的jquery - 延遲加載 - 設置延遲
- 12. 延遲加載程序
- 13. 我不知道延遲加載模式是否是這裏
- 14. 我可以選擇性地關閉延遲加載w/NHibernate嗎?
- 15. 添加可延遲事件的延遲
- 16. 延遲加載
- 17. 延遲加載
- 18. 延遲加載
- 19. 延遲加載,我正在做對嗎?
- 20. 我如何延遲加載Spring Security?
- 21. 添加啓動延遲
- 22. Primefaces DataGrid是否可以進行延遲加載?
- 23. 我如何可以延遲的CSS功能動畫
- 24. 春庫和延遲加載
- 25. 是否可以在scrapy中設置動態下載延遲?
- 26. URLClassLoader是否使用延遲加載?
- 27. 腳本用於延遲程序啓動
- 28. STM32F4 - 我可以在中斷例程中使用延遲嗎?
- 29. 啓動QPropertyAnimation延遲
- 30. Rails啓動延遲
即使它們是第三方,您也可以將鏈接庫設置爲弱(目標>信息>常規),但我不知道這是否會產生任何效果。 – toupper 2011-05-24 11:59:04
@ toupper據我所知。設置鏈接的唯一原因是確保您的應用能夠解析您的應用所在平臺的符號,而不是使用您的應用編譯到的平臺的符號。讓自己的圖書館薄弱沒有任何意義。 – bioffe 2011-05-24 15:13:10