加载在的UIImageView大图像我加载尺寸2480×3508的一个UIImage到的UIImageView使用UIViewContentModeScaleAspectFit。加载此图像时出现内存警告。当我在这个UIImageView中加载了一些这样大小的图片后,应用程序崩溃了。有什么方法可以解决这个问题吗?内存消耗,同时在
内存消耗,同时在
回答
解决这一问题既包括装载的缩放版本O f图像(* 1),或者您可以选择使用CATiledLayer(* 2)以全分辨率显示。
- [UIImage imagewithGGImage:scale:orientation:];
- CATiledLayer example
附录:如果你的图像源是图片库,ALASSet提供已经缩放图像到全屏和全分辨率图像。您可以将两者与CATiledLayer结合使用。全屏图像被添加到CATiledLayer下方的图层中,以便在您等待CATiledLayer中的图块加载时用作占位符。
好了,根据文档:
您应避免创建大小大于1024×1024的UIImage对象。
减少你的图像,然后在您的ImageView加载它,有很多图书馆要做到这一点,这里是一个:
是这是真实的,则可以计算内存使用情况:2480×3508×4 = 34799360个字节的内存。 – rckoenes 2011-05-24 12:53:45
我使用的是scrollview,uiimageview是uiscrollview的子视图。所以,如果我缩小图像尺寸的图像变得模糊,而变焦 – 2011-05-24 13:10:59
在这种情况下,你应该在CATiledLayer看一看:http://www.olivetoast.com/blog/2009/08/simple-uiscrollview-catiledlayer-pdf-示例/ – Nyx0uf 2011-05-24 13:11:59
您可以使用此缩放 简单描述的方法在下面的链接:
- 1. 内存消耗
- 2. HSQLDB内存消耗
- 3. QRegularExpressionMatch内存消耗
- 4. Direct2D内存消耗
- 5. QTreeView内存消耗
- 6. EntityManager内存消耗
- 7. Boost.Flyweight内存消耗
- 8. Luakit内存消耗
- 9. 占内存消耗
- 10. 乔达时间消耗太多内存
- 11. 计时器控制内存消耗
- 12. Emgu CV - 内存泄漏(内存消耗)
- 13. .NET内存消耗问题
- 14. JTextArea消耗大量内存
- 15. Tomcat 6内存消耗
- 16. Netty 4 beta1内存消耗
- 17. CGImageRef |内存消耗|泄漏
- 18. MongoDB内存消耗低
- 19. BigDecimal(Java)的内存消耗
- 20. Node.js和MongoDB内存消耗
- 21. KDB/Q内存消耗
- 22. SOLR收集内存消耗
- 23. Groovy 64位内存消耗
- 24. Matlab函数内存消耗
- 25. Sidekiq消耗太多内存
- 26. 减少内存消耗
- 27. EF的内存消耗
- 28. ObjectInputStream消耗太多内存
- 29. Scala ParRange内存消耗
- 30. Android的内存消耗
可以添加到之前的ImageView缩放图像 – SriPriya 2011-05-24 12:49:45