问题标签 [abandoned-memory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
230 浏览

ios - iOS 废弃内存 VM:图像 IO

我有这样的问题。我正在开发一个 iPad 应用程序,它实际上使用了很多图像和核心动画内容。我没有泄漏,但我已经放弃了内存问题。我有稳定的记忆增长。我禁用了实际上使用大量内存的动画,但内存增长仍然存在问题。对于动画,我使用http://markpospesel.wordpress.com/2012/05/07/mpfoldtransition/。我已经将 UIImage 类中此类加载方法的实现替换为“imageNamed:”等。但它仍然没有帮助。

如果有人有任何想法,请提供帮助。

谢谢大家。

仪器截图

0 投票
0 回答
3152 浏览

ios - 内存放弃主要是由于VM:CoreAnimation

我正在制作一个有很多动画和嵌套动画的应用程序。

这是一个显示 3-2-1 的开始动画示例

我有更多动画,但都没有那么复杂。我注意到我的应用程序由于内存问题而在 ipad 上崩溃,并运行了仪器。

它没有显示任何泄漏,但分配堆大小不断增加。在进行了 heapshot 分析之后,我注意到大部分内存都被以下内容消耗了:

虚拟机:CoreAnimation

虚拟机:ImageIO_PNG_Data

我尝试查看堆栈跟踪,但无法弄清楚我到底在哪里生成了这个废弃的内存。

我正在使用的动画类型的另一个示例:

0 投票
1 回答
97 浏览

ios - UISplitViewController:在另一个 VC 被推入导航堆栈之前被放弃的内存?

我一直在对我正在开发的应用程序进行内存分析,并注意到我的应用程序中的详细视图控制器被“放弃”(仍然驻留在内存中,但仍然存在有效的引用),直到一个新的视图控制器被推送到导航堆栈上. 我已经在设备上和模拟器中测试了这个,并遇到了同样的问题。

我在这里创建了一个示例项目,并在此处创建了一个演示该现象的视频。在dealloc详细视图控制器中,我放置了一条关于何时销毁视图控制器的日志消息。直到将新视图控制器放置到导航堆栈上之后才会执行此操作。

执行内存配置文件,视图控制器不会被释放,直到UISplitViewController调用内部的私有方法,_willShowCollapsedDetailViewController:inTargetController:

在此处输入图像描述

有什么我想念的吗?这是一个错误吗?如果不是,我如何确保从导航堆栈弹出时正确释放详细视图控制器?

这个问题存在于 iOS 89 中。