我正在玩樂器。而且我只是記錄/描述了內存泄漏,我只有很少的內存泄漏,但是即使我的應用程序剛剛打開,分配的壓倒性數量也不減。這是使用該應用程序少於10秒後的屏幕截圖。儀器內存分配太多不好?
當我繼續使用它只是不斷增加和提高了應用程序。
最奇怪的部分大部分分配是從班來,我不知道這樣的:
基金會
海拔
lbdispatch.dylib
但它可能是從SBJson和我爲JSon和XML導入和添加的其他類。
但是,這是很多內存分配?太糟糕了嗎?
我正在玩樂器。而且我只是記錄/描述了內存泄漏,我只有很少的內存泄漏,但是即使我的應用程序剛剛打開,分配的壓倒性數量也不減。這是使用該應用程序少於10秒後的屏幕截圖。儀器內存分配太多不好?
當我繼續使用它只是不斷增加和提高了應用程序。
最奇怪的部分大部分分配是從班來,我不知道這樣的:
基金會
海拔
lbdispatch.dylib
但它可能是從SBJson和我爲JSon和XML導入和添加的其他類。
但是,這是很多內存分配?太糟糕了嗎?
是和否,這取決於你在做什麼,如果你分配了大量的字符串,可以說你分配了1000個字符串,這些分配持續不壞,但它取決於你的應用程序的邏輯視圖,如果你真的需要一次所有的字符串,並且你需要將它們分配到你的應用程序的所有步驟並保持活躍狀態,那麼你不需要做任何事情,你的應用程序只需要很多內存,但是在另一個那麼您可能會發現其他一些方法來在邏輯上構建您的應用程序,例如您只需要分配1000個字符串中的每一個即可。
一個很抽象的回答是,如果您的應用程序需要大量的內存,就沒有辦法使用一些技術,如延遲加載,或緩存,那麼你沒有任何其他解決方案
但如果你能重構您的應用程序使用延遲加載,緩存,分配池它會更好
請注意:你可以讓iOS SDK幫助你,通過在你的應用程序中正確實現內存警告回調,以這樣的方式,只要你收到警告,您開始釋放您目前不需要的任何資源
只是一個更新......它在大約150分鐘的5分鐘內 – MCKapur
另外,你有殭屍嗎?殭屍默認不會實際刪除任何分配,所以內存永遠不會被釋放。總是測試與殭屍關閉內存泄漏。
我不知道從屏幕截圖中使用了多少內存。但是,如果當前屏幕佔用的內存正在使用,那麼它應該不成問題。您可以查看對象列表並查找不應該移除的對象。 – nhahtdh
只是一個更新......它在大約150分鐘的時間內在5分鐘內 – MCKapur