我正在研究iPad上的郵件客戶端(類似於默認應用程序客戶端),並使用核心數據框架作爲緩存來提高性能。我的應用程序使用大約4.5 - 5 MB的堆內存,然後由於內存溢出而崩潰(使用分配工具檢測到此情況)。如果我嘗試減少內存,我的性能變得非常緩慢,因爲我無法緩存我的視圖,數據結構(存儲文件夾和所有郵件)和表視圖。爲我的iPad應用程序需要更多內存
我檢查了我的crashLogs,我看到拋棄在我的應用程序前面寫的確認操作系統已強制關閉我的應用程序!
我已經使用儀器來檢測這些限制。 Please find the attached image here 這是在應用程序崩潰之前我錄製的快照。
我已經在模擬器上測試過我的應用程序,它穩定在6-7 MB的堆內存。 有沒有什麼辦法讓我可以要求操作系統獲得更多的內存,或者避免在代碼中重新設計一些內容。
任何建議或幫助將不勝感激。
我認爲你應該重用視圖,而不是有多個視圖來緩存數據。緩存內存中的數據是可以的,但如果太多,則必須緩存到磁盤。 – nhahtdh
內存溢出意味着你已經觸及未分配的內存(也許你已經寫入超出了分配的塊的末尾,或者你有一個損壞的指針)。我不認爲這是一個堆大小問題。 – wrock
是的,我正在使用核心數據緩存到磁盤。我沒有重複使用視圖。但我確定我釋放它們。 –