我正在編寫一個使用大量視頻和大型PNG動畫序列的iPad應用程序,在不再需要時請注意釋放所有資源。儀器沒有顯示內存泄漏,分配顯示應用程序永遠不會分配超過30 MB的內存。但是,當我查看活動監視器時,我發現真正的內存和虛擬內存在不斷增加,因此越多人對應用程序的內容進行深入研究。我把NSLog放在了所有的dealloc方法中,並且我釋放的每個對象都被釋放。然而,我的應用程序正在被信號0殺死。有沒有人有任何建議?iPad內存使用量不斷增加
2
A
回答
2
您可能已經這樣做了,但是在使用Allocations工具時,在與UI進行交互時請執行「堆放」。這會讓你知道在每個時間間隔和對象的生命週期中分配了什麼。比爾Bumgarner有一個excellent blog entry關於這個強大的工具,非常值得一讀。
2
難道你有NSZombieEnabled?發生在我身上的一次...
0
WWDC 2011會議318視頻「iOS性能深入」(大約43分50秒)介紹瞭如何在UIImageView中激活UIImage可以使用大量內存。他們建議在使用動畫大圖像時使用
- (void) animateImages
{
CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(animateImage:)];
}
- (void) animateImage:(CADisplayLink *)link
{
[imageView setImage:[UIImage imageWithContentsOfFile:nextImagePath()]];
}
動畫速度無法保證。使用+ [UIImage imageWithContentsOfFile:]是關鍵,因爲+ [UIImage imageNamed:]將緩存圖像實例。
我已經在我的應用程序中使用了這種技術,這種技術可以在內存之間切換,在大型圖像動畫組之間切換,並且在iPhone 3GS和iPhone 4S上工作的很好且流暢。它在iPhone 3GS上很慢,但3GS甚至無法做一組動畫。查看虛擬機跟蹤器中的髒大小統計信息,其差異非常顯着。
相關問題
- 1. 使用SDL_TTF時,C++程序內存使用量不斷增加
- 2. Rails不斷增加內存
- 3. Android模擬器內存使用量不斷增加
- 4. URL監視器不斷增加內存使用量
- 5. Java進程的內存使用量不斷增加無限
- 6. 內存使用量增加。釋放內存不被重用
- 7. 分配的內存不斷增加
- 8. 內存使用量增加105%中介
- 9. 當使用py2neo時,Java內存不斷增加
- 10. 使用我的擴展名時,內存不斷增加
- 11. Encog:重量不斷增加
- 12. 工作角色以合理的內存使用情況開始,但內存使用量不斷增加
- 13. 增量內存使用
- 14. Mysql的「內存使用量」增加和增加
- 15. iPhone應用內存不斷增長
- 16. 我的應用程序佔用的內存不斷增加
- 17. 在WPF/Winform應用程序中內存佔用不斷增加
- 18. NodeJS和ExpressJS應用內存隨着負載的增加而不斷增加
- 19. 新增內存大量增加
- 20. 逐漸增加CPU使用率而不增加內存。想法?
- 21. Java實例內存使用量不增加請求
- 22. Android應用程序數據存儲量不斷增加
- 23. 將圖像加載到Webview + Safari時內存不斷增加
- 24. 使用AJAX是否會增加PHP的內存使用量?
- 25. Tomcat的內存不增加
- 26. 內存不斷增長在Swift中分析大量XML文件
- 27. Expression_Host程序集數量不斷增加
- 28. cmd.ExecuteNonQuery不斷增加
- 29. 使用Node.js的中Redis的支持「KUE」庫 - 爲什麼我的Redis的內存使用量不斷增加?
- 30. AngularJS數組和增量內存使用
用儀器檢查一段時間後仍然存在的物體。 – Eiko 2011-01-24 23:55:29