这不是一个关于解决特定问题的问题,而是更多要求指向正确方向的问题.
我正在制作一个应用程序,我同时将几个图像(保存为JPG)加载到屏幕上,这必须是它的方式,我无法卸载其中任何一个因为它们都被立即显示.
我尝试以大约800px*600px的分辨率天真地加载30张图像,认为它只将图片的"压缩"大小加载到内存中(大约200 KB) - 所以总共6 MB?当然,后来有几次记忆警告,我意识到我是多么愚蠢.所以我现在将它们的大小调整到大约400px*300px,而我的iPhone 4S只是为了应对内存需求.
我最初使用的是UiView,在drawRect中我绘制了一个自定义绘制的图像,但转换到使用UIImageView显着改善了这种情况.该应用程序更快,响应更快.我还发现在我的图层中关闭光栅化会对性能产生巨大影响.
这些"发现"需要花费数小时才能完成,而我想知道的是,是否有特定的设计模式或资源可用于尽可能高效地将图像加载到屏幕上; 主要是关于使用尽可能少的内存 - 是否有良好的经验法则?为什么使用UIImageView vs UiView w/image会产生这样的差异?
如果有人可以提供帮助,我将非常感激.
谢谢.