- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我做以下所有事情的原因:我有一个 GPS 跟踪应用程序,它应该全天在后台运行。当我将应用程序置于后台时,内存使用量不会下降。当应用程序进入后台时, View 似乎不会从内存中删除...这就是为什么应用程序在 iPhone 正常使用的几个小时内关闭...根据 IOS6 的经验 - 内存使用量应该下降到 cca 8KB。
然后我尝试调试/隔离问题......
我使用 UIMapKitView 创建了简单的 ViewController 只是为了确保该 View 消耗大量 RAM(例如:12-17MB)。当应用程序进入后台时,应用程序使用相同数量的 RAM,直到出现“因内存压力而终止”消息。尽管如此 - 有时内存会降低到 4KB,但一切正常。问题是因为它的工作有点“随机”,而且应用程序非常简单。
我可以手动释放 View 占用的 RAM 吗?例如:设置 self.view = nil?我应该这样做吗?
我还注意到“- (void)didReceiveMemoryWarning”并不总是在应用程序被杀死之前调用。我希望当操作系统需要更多内存时,它会首先释放 View ,而不是要求我通过此方法清除可以清除的任何内容...这不是有点奇怪吗?
最佳答案
Apple 重新设计了 VC( View Controller ) View 的加载方式——我想说从 iOS 5 开始? iOS 6?过去,当 VC 不在最前面并且需要内存时,系统会卸载您的 VC 的 View 。
随着更改,VC 的 View 在 VC 处于事件状态时永远不会被卸载。 ViewDidLoad 在 VC 的生命周期中只被调用一次,而 viewDidUnload 根本不再被调用。
我不知道如果您将(非最前面的)VC 的内容 View 设置为手动查看会发生什么。当该 View 再次成为最前面时,系统会加载您的 View 层次结构吗?您必须尝试一下,但这是有风险的,因为我认为操作系统不再以这种方式设计。
如果您的 VC View 占用了大量内存,您可能需要重新构建您的应用,以便仅保留最前面的应用,并释放其他 VC(在保存它们的状态后)。
Apple 并没有让这类应用程序易于编写。相反,他们积极阻止它。 GPS 是一个巨大的耗电设备,因此保持它始终处于事件状态会快速耗尽用户的电池电量。
我记得在 5s 中听说过一个新的位置芯片,它会根据你的要求为你的应用记录位置数据的“面包屑痕迹”,即使它没有运行。您可能会研究一下,尽管它只适用于配备 A7 芯片和定位芯片的最新设备。
关于ios - IOS7和 "Terminated due to Memory Pressure"中的内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24273405/
我正在 iPad2 上的高内存压力下测试应用程序。我正在循环创建一系列 pdf 页面并在 Xcode 中进行调试,我看到内存在增长。 我已经实现了应用程序和 Controller 相关的功能(didR
我在使用 Maven 时遇到一个问题,在我的项目 A 中,库 com.google.guava 在多层传递依赖项中被引用了大约六次.几乎所有这些依赖项都需要古老的版本 18.0。 我已经编写了另一个依
通读Tess Ferrandez' Blog关于垃圾收集,她说收集有 3 种可能的原因: When you allocate a new object and the generation 0 bud
所以我对 C 编程非常陌生,我被要求编写一个程序来计算内燃机气缸的平均有效压力。 我得到: MEP = (66,000 * HP)/(L * A * RPM) A = (pi * D^2)/4(圆柱体
我正在尝试将半逼真的水添加到基于图 block 的 2D 平台游戏中。水必须表现得有点逼真,压力模型完全在本地运行。 (IE。只能使用来自它附近单元格的数据)由于我的游戏的性质,需要这个模型,你不能确
提前感谢您的帮助。我对我遇到的问题有点困惑。我正在使用 react 和 canvas 在 chrome 中开发一个网络应用程序。这个问题似乎是压力笔输入的 PointerEvent 问题。 问题:当我
Development.apk->“指针位置”日志: 03-02 17:22:28.050: I/Pointer(24911): Pointer 1: DOWN (400.0, 700.0) Pres
我做以下所有事情的原因:我有一个 GPS 跟踪应用程序,它应该全天在后台运行。当我将应用程序置于后台时,内存使用量不会下降。当应用程序进入后台时, View 似乎不会从内存中删除...这就是为什么应用
我正在使用 AVAudioUnitSampler 播放一些 midi 声音,我加载了一个 soundfont 并成功地使用了开始音符、停止音符和应用弯音 midi 命令。我现在正尝试合并 AVFoun
我正在使用 Xcode 开发 iOS 应用程序。早些时候我让它启动并运行,直到达到有限的功能水平。然后出现编译失败,声称未修改的样板生成的代码有语法错误。将源代码复制到新项目中会遇到不同的问题。 现在
我玩过一点 Rx,但仍然认为自己对这个世界来说是个新手。我有一个问题,我想知道我是否可以通过 Rx 解决它。我最初的用例是在 C# 中,但以后可能希望在 JS 中使用相同的用例(尽管如果答案中有任何代
我正在制作一个应用程序,用户可以打开苹果 map 来获取方向,该应用程序在模拟器上运行完美,但是当我在我的 iPhone 4s(插入计算机)上运行它并通过我的应用程序打开苹果 map 时,我的计算机显
如何在代码中解决这个问题? 这很奇怪,因为我在代码中找不到它,但 Firefox 提示“MouseEvent.mozPressure 已被弃用。请改用 PointerEvent.pressure。”在
我正在我的 Nexus 7 平板电脑的“Chrome”浏览器上做一些测试,并在触摸事件提供的触摸对象中发现了奇怪的 webkitForce 属性。 果然,它似乎是一个标量,通常设置在大约 0.05 和
我附上了下面的图片,它是 iPhone Simulator 硬件选项的截图,我是 Xcode7.3.1 的新手,并且想知道 当禁用的选项(如强制触摸压力、已注册触摸 ID、显示 Apple TV Re
目前我正在构建一个应用程序,它基本上是我的 Virus TI 合成器的合成器 Controller 。该病毒允许使用 MIDI CC 消息设置它的大部分参数。使用 Audiokit 非常简单: mid
有什么方法可以使用 javascript 识别笔压。最好我不想使用任何 Flash 并尝试将其作为纯 JS 完成。 编辑:好吧,我意识到 Wacom 数位板是有可能的,因为它们带有可以与它们的 jav
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
这个问题我在网上想澄清了一段时间没有成功,所以我会试着在这里问一下。 我想找到一些资源或示例,其中展示了如何构建端到端的完全背压 REST 服务 + 客户端。我的意思是,我希望看到,给定一个实现 Re
我正在使用 netty 开发应用程序,它将通过 TCP 监听特定端口。一旦接收到字节,我就有了一个带有业务逻辑的管道来运行接收到的字节。该管道由多个 channel 处理程序组成,如 header 解
我是一名优秀的程序员,十分优秀!