2012-07-15 41 views
0

工作的第一個應用程序,有大部分做編程的,但應用程序的時間過長,在推出上顯示的TabBar第一的tableview。啓動時需要8-10秒才能顯示。尋找幫助,以追蹤哪些代碼需要這麼長時間,等等。以下是一般的應用程序設置:帶有5個選項卡的tabbar,包括導航欄,混合的tableview和詳細視圖以及滾動視圖。桌面視圖的數據來自遠程Web服務器的多個json源。在appdelegate.m中,我設置了完整的選項卡/導航欄。我在tabbar上設置的每個單獨的視圖控制器中獲取json數據源。我使用了Profiler,但不知道我在找什麼和在哪裏。啓動時加載了什麼?任何建議的應用程序的一般設置,可能會導致延遲?它是否加載了與tabbar關聯的所有視圖?預先感謝您的幫助。iOS應用推出的時間太長顯示

+0

如果外部站點調用JSON那麼這將是第一個猜測網絡需要時間 - 如果從應用 – Mark 2012-07-15 22:13:10

+0

標誌使用的數據會發生什麼,我有7 JSON提要所有定義,並在每個視圖控制器加載。我沒有嘗試在應用程序中使用數據,但將json源減少爲只抓取1條記錄,但沒有幫助。它只是網絡的開銷,等等?我可以將應用程序配對到只有1個JSON和1個視圖控制器,看看?我只是抓住json並使用dispatch_async輸出圖像。我的應用程序不像Apple的LazyTableImages應用程序那樣安裝,它在代理中抓取xml,加載到單獨的類對象中,並且具有獨立的Parser和IconDownloader類來處理。我需要爲每個json提要設置一個集合? – rossi 2012-07-16 14:31:54

+0

如何將其拆分並在建築物表格單元之外的背景中運行調度? – rossi 2012-07-17 00:11:53

回答

2

運行通過儀器程序。總是。每時每刻。它會告訴你大部分問題。

這就是說,你可能需要委派你的啓動任務後臺線程,並作爲數據可用來更新UI。

使用的NSOperation,GCD,並執行你的後臺任務的相關技術。

+0

你可以舉一個例子說明NSOperation和GCD。 – 2015-03-11 06:41:06

+0

https://www.google.com/#q=nsoperationqueue+example https://www.google.com/#q=grand+central+dispatch+example – 2015-03-11 12:57:24