2010-01-25 72 views
1

我注意到在我的應用程序中,didReceiveMemoryWarning被調用的速度要快得多,如果我的手機長時間沒有關機。它幾乎看起來像我的應用程序可以訪問的內存池隨着時間縮短。收縮iPhone內存?

有沒有其他人注意到這一點,是否有解釋?我可以採取哪些措施來防止這種情況發生?

我注意到這種情況發生時,我使用了一大塊內存來處理圖片。關閉電源並重新啓動電話會有幫助。我的應用程序可以訪問的內存是否可能縮小,或者現有的內存可能被碎片化,重新引導會對現有內存進行碎片整理?

任何解釋或幫助,這個問題將是巨大的。謝謝。

回答

1

是的,這是不幸的是,衆所周知的行爲。隨着操作系統的運行,cruft開發,並最終需要重新啓動,以清除事情。這就是爲什麼appstore中的許多應用程序在玩遊戲之前請求重新啓動的原因。

1

較舊版本的iPod守護進程mediaserverd用於泄漏。

這導致您所描述的行爲。

如果一個系統服務可能泄漏,其他人也可能泄漏。

0

只是因爲我們沒有得到我們的多任務應用程序並不意味着iPhone在做多任務處理。

打開的網頁在Safari留在內存中,直到OS發送Safari瀏覽器相同的內存警告你得到。郵件可能在您的應用運行時開始工作,並且需要更多內存。 iPod應用程序也爲自己保留了相當多的內存。

如果你看一下iPhone的使用管理,而你的應用程序越來越低內存警告你可能會看到一些內置的應用也越來越內存警告和終止的東西來釋放內存的控制檯。這很有趣。