簡體   English   中英

iPad內存使用量不斷增加

[英]iPad Memory Usage Constantly Increases

我正在編寫一個iPad應用程序,該應用程序使用大量視頻和大型PNG動畫序列,並在不再需要它們時小心釋放所有資源。 儀器顯示沒有內存泄漏,並且分配顯示應用程序分配的內存從未超過30 MB。 但是,當我查看“活動監視器”時,我發現真正的內存和虛擬內存在不斷增加,而更多地關注應用程序的內容。 我將NSLogs放入所有我的dealloc方法中,並且釋放了我釋放的每個對象。 但是,我的應用程序被信號0殺死。有人建議嗎?

您可能已經在執行此操作,但是在使用“分配”工具時,請在與UI交互時獲取“堆快照”。 這將使您了解在每個時間間隔內分配的對象以及對象的生命周期。 Bill Bumgarner在有關此功能強大的工具的博客文章中非常出色 ,非常值得一讀。

可能是您擁有NSZombieEnabled嗎? 發生過一次

WWDC 2011的第318節視頻“ iOS Performance in Depth”(大約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以前甚至不能做一組動畫。 查看VM Tracker中的Dirty Size統計信息,差異是巨大的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM