2016-12-05 42 views
0

我正在开发大型iOS应用程序。在这里,我在每个视图控制器中使用了很多动画,并且由于内存导致应用程序崩溃。内存优化ios应用程序,将应用程序推送到后台最小化应用程序运行时内存大小

问题将在下文

  • 推视图控制器,其中在轻击按钮,启动UIImage动画与10倍的图像进行说明。它将应用程序内存使用量从13MB增加到53MB(在iOS 10.1的Xcode 8.1和iPhone 5的“调试导航器”中检查)。
  • 当弹出视图控制器时,它不会减少内存大小。

但是,如果我在同一时刻将应用程序发送到后台,那么它将显着减少内存到17MB。

你能否就此指导我,我该如何处理这种情况。

注意: - 这两个对象(ViewController和图像对象)调用它的dealloc方法,所以意味着他们应该释放内存。 - 我甚至尝试过@autorelease pool,但没有帮助。

在此先感谢

+0

您需要使用不同的方法,不能所有的解码图像数据加载到内存在同一时间。在这里看到一个例子:http://stackoverflow.com/a/13850242/763355 – MoDJ

回答

0

可能是你没有燮这部动画,在viewWillDisappear尝试调用 stopAnimating(如果你正在使用的UIImageView帧动画)。

+0

嗨,谢谢。我已经尝试过停止动画,甚至弹出调用imageview的dealloc方法,因为我将UIImageView类和wrinte nslog的子类放在dealloc方法下。 这里的主要问题是,图像的总尺寸为2MB约,当当我加载这些图像到阵列的UIImageView在App大小显着增加由40MB分配。关于这个问题,请你指导一下,我如何以优化的方式为你提供图像? – Rahish