回答
NSThread不是問題。這聽起來像你可能簡單地壓倒iPhone的硬件。請記住,即使是最慢的筆記本電腦,移動平臺的功耗也只有一小部分。
看看照片應用程序在圖像中有時會如何模糊淡入淡出。有時候,它也必須用縮略圖來完成。顯示圖形密集型網頁可能需要10-20秒的時間。
這聽起來像你需要重新考慮你的設計。除非你正在加載微小的圖像,否則你根本不會在iPhone硬件上及時加載「成千上萬」的圖像。您需要在顯示時加載。邏輯上將圖像分成組,然後讓用戶導航到他們想要的組,然後只加載那個小組。
是的這是真的NSThread不是問題。我再次想到了設計,現在新的設計應用看起來不錯。非常感謝。 – Jim 2010-02-08 06:32:37
如果您通過http下載圖片,我建議您使用ASIHTTPRequest框架。它可以輕鬆下載異步的HTML,圖像和其他東西。
但是,請注意不要同時下載到很多東西。我已經閱讀某處那10個http連接在同一時間應該是一個很好的數額。 (Somewhere是由jonkean在他的commit中設置的AppSales-Mobile項目ReviewUpdater.h的值)
還考慮使用NSOperationQueue
來協調這些下載。使用NSOperationQueue
和NSOperation
類,您可以時間表千次下載,但要確保只有一定量的下載同時發生。
要獲得積分,請使用Reachability API查看用戶是否在3G或Wifi上,並根據該數據設置併發下載數。
- 1. jQuery加載最佳實踐
- 2. 使用NSThread下載100張圖像時發生崩潰iPhone
- 3. 加載遊戲位圖:最佳實踐
- 4. 的最佳實踐IPhone
- 5. Iphone動畫最佳實踐
- 6. iPhone圖層管理 - 最佳實踐
- 7. 加載Dojo的最佳實踐從
- 8. SPL自動加載的最佳實踐
- 9. 優化JavaScript加載的最佳實踐
- 10. 保存圖像的最佳實踐
- 11. 圖像鏈接的最佳實踐
- 12. 渲染2D圖像的最佳實踐
- 13. 最佳實踐:iAds到iPhone的實施
- 14. 使用視圖或圖像的Swift最佳實踐
- 15. 重載最佳實踐
- 16. 重載hashCode最佳實踐
- 17. 下載最佳實踐(C++)
- 18. 重載最佳實踐
- 19. Android圖像尺寸最佳實踐
- 20. 圖像大小 - 最佳實踐 - 移動
- 21. 琢磨圖像,最佳實踐?
- 22. 最佳實踐使用PDO
- 23. 最佳實踐使用Q.promise
- 24. 最佳實踐使用
- 25. ServiceStack.Redis使用最佳實踐
- 26. 最佳實踐使用svn:mergeinfo
- 27. 通過WebService安全圖像下載的最佳實踐
- 28. UIKeyboard通知的最佳實踐 - iPhone SDK
- 29. iPhone上的最佳SQLite實踐
- 30. 使用單張處理數千個標記的最佳做法
NSThread本身並沒有讓任何東西變慢。您是否使用過Shark或樂器來查找您的應用程序在哪些地方花費CPU週期? – Costique 2010-02-06 11:33:13
取決於你的目標是什麼 - 在加載所有1,000張圖片時是重要的事情,還是可以先找出你需要的圖片並在其他997加載時顯示有用的東西? – 2010-02-06 18:54:47
David,我嘗試了你提到的方式。我正在下載applicationLaunch Successfully後廣泛使用的一些圖像。我可以看到,我的應用程序性能肯定增加了。 非常感謝。 – Jim 2010-02-08 06:29:08