【问题标题】:Image optimization in iOS after reducing of size via CATransform3D?通过 CATransform3D 减小尺寸后 iOS 中的图像优化?
【发布时间】:2023-03-17 04:56:02
【问题描述】:

我有一个视图网格。每个视图都包含一个图像和一些轻量级元素。

每个这样的视图都可能变成全屏,反之亦然。所以我使用CATransform3D 来最小化/最大化项目和恒定的“全屏”帧(我不能简单地减少/增加帧/边界,因为变换包括额外的子变换而不仅仅是缩放)。

但现在我遇到了另一个问题。每个视图的框架总是很大,所以其中的图像也必须很大,这会导致内存问题。我尝试减小图像大小(以像素为单位),但整个图像(通常)相对于其容器减小了。

如何解决此类问题?在最小化后我不需要最大尺寸的图像(即使它降低了质量)。

已编辑

特别是对于那些想要不费吹灰之力地获得额外选票并试图重述问题而不是回答并建议以像素为单位减小图像大小的被冒犯的人 - 再次阅读问题,因为它已经指定,这是不正确的结果:

http://i62.tinypic.com/mr67ue.jpg

好的,图片尺寸变小了,但是它的容器怎么办?

【问题讨论】:

    标签: ios optimization uiimage catransform3d memory-optimization


    【解决方案1】:

    我发现的最合适的解决方案如下。

    未优化的视图是屏幕大小,包括比例在内的所有其他变换都通过CATransform3D 应用。

    为了优化,我手动减少了UIView 的框架、它的所有子视图甚至图像(因为在我的情况下,它在UIImageView 中的放置模式不符合任何标准)。我仍然使用相同的复杂 CATransform3D 但没有缩放变换。

    在这两种情况下,初始锚点(视图中心)都是屏幕的中心。

    为了优化图像,我会立即为当前视图减小其大小,并为其他视图使用缓存的图像。如果没有缓存的图像,我会尝试重新创建它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      • 2015-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      相关资源
      最近更新 更多