我正在编写一个使用大量视频和大型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