3

我正在幫助一位朋友在他編寫的iPad應用程序中搜索崩潰。該應用程序非常簡單,在用戶通過頁面向前和向後瀏覽時,在單個UIViewController之間的UIView之間轉換。崩潰相當困難,並且不會讓我們陷入調試器或其他任何事情 - 應用程序就會死亡。在控制檯中發佈了臭名昭着的'signal'0''消息,根據this question,消息最有可能是由於操作系統在內存消耗上殺死了應用程序。iPad:活動監視器的「真實內存」與應用程序內存使用情況?

的存儲器分配是相當恆定的,大大低於由該裝置所施加的任何限制: Instruments memory allocations and leaks

根據分配和泄漏器具分配的總數週圍2MB馬克塞斯或所謂遠低於任何硬件/ OS限制。但是,當我們使用活動監視器工具在設備上運行應用程序時,應用程序使用的真實內存大概超過了150MB,我們懷疑這是應用程序因操作系統而死亡的原因。

這兩個數字之間明顯的差異是什麼造成的?

+0

你能解決這個問題嗎?我現在面臨着類似的問題。 –

回答

0

由於某種原因,[UIImage imageNamed:]沒有正確緩存。切換到另一個API來加載圖像解決了問題。

+1

在此模式下在Instruments中報告的內存似乎不包括以通常方式加載的圖像。我認爲這是因爲圖像經常在圖形驅動程序世界的內存中加載,並且您的應用程序對它們只有一個小處理。我尋找CGImageRef的實例,並確保我只有需要的東西。 –

+0

你也可以切換哪個API? – momo

相關問題