2013-09-27 30 views
8

我正在使用Xcode的iOS應用程序。早些時候,我開始運行它,達到了有限的功能級別。然後有編譯失敗聲稱未觸及的樣板生成的代碼有語法錯誤。將源代碼複製到新項目中會遇到不同的問題。如何解決早期啓動的應用程序,但現在「因內存壓力而終止」?

現在,我可以編譯並開始運行,但是在啓動圖像顯示應用程序由於內存壓力而關閉之前狀態。總視覺資產大約爲272M,這可以在不影響圖形豐富度的情況下進行優化,目前爲止該計劃的唯一領域預計會很大。 (這些資產可能會或可能不會保存在內存中;例如每個當前加載的圖像都被填充,並且我的代碼不會以編程方式訪問任何加載圖像。)並且在加載圖像本身加載之前崩潰。

我該如何解決這個內存問題?我可能會減少處理圖像的方式,但我懷疑還有另一個根本原因。或者這是過度的內存消耗?

感謝,

+1

您正在使用272 MB?這將立即在iPhone 4S或更舊的設備上被殺害。iPhone 5將處理它,但這是一個巨大的內存消耗在發射上。 –

+1

所以你試圖在應用程序啓動時加載近300MB的圖片? – Wain

+0

同意,我建議使用延遲加載 - 只有在應該顯示時加載資源。 –

回答

4

回顧蘋果的iOS編程文檔的Performance Tuning部分。使用Apple的Instruments應用程序來確定您的應用程序如何,何時以及使用多少內存。

你應該考慮的一種方法是從應用程序中斷開圖形資源,一旦你認爲它們符合iOS的要求和限制,就將它們逐個添加回去。

現在,我的答案的這一部分是意見:這聽起來像你的應用程序是一個很高的風險被拒絕從應用程序商店,以防這是您的應用程序的預期目的地。

+1

+1:我同意,如果您在初次發佈時使用瞭如此多的內存,這可能會在通過應用商店評論時遇到麻煩......您必須對此進行優化。 –

+0

謝謝。我知道至少有一個優化應該會顯着減少總體啓動圖像...但是大部分尺寸是啓動圖像。 – JonathanHayward

+0

對圖像的快速提示是:調整圖像的大小,使它們成爲iOS將使用的最大尺寸(例如,如果磁盤上有600x600圖像,但在視網膜顯示器上只顯示爲300x300,則將源圖像調整爲300x300 )。 – bneely

相關問題