2013-02-27 89 views
4

a question I asked几个月前,我问是否可以观察杰特萨姆的内存使用情况的影响。我用仪器回答了我自己的问题,发现由Jetsam杀死的应用程序仍然具有与终止之前相同的内存占用量。Jetsam真的做了什么?

即使在今天,我仍然在运行任务栏最近使用的应用程序列表中看到抛弃的应用程序。即使在Jetsam杀死了他们之后,我也没有得到任何性能改进,除非我自己将其删除。

如果是这样的话,什么是投弃的目的又是什么呢(不是杀死其他应用程序)在做什么?我没有看到任何好处。这是一个错误?

回答

9

即使在今天,我仍然看到在正在运行的任务栏中抛弃应用程序。即使在Jetsam杀死了他们之后,我也没有得到任何性能改进,除非我自己将其删除。

胡说。没有像“正在运行的任务栏”那样的东西。您正在考虑最近使用的应用程序列表。此栏中存在应用程序并不表示该应用程序仍在运行,并且从该栏中删除已杀死的应用程序对性能/内存没有影响。从这个栏中删除应用程序的唯一方法是有益的,如果应用程序仍在运行,它将会被杀死。

至于jetsammed的应用程序,这并不奇怪,该应用程序将具有相同的内存占用它的重新启动后。应用程序通常会被暂停,并且前台应用程序需要更多内存。应用程序被转发的事实并不表示应用程序必须使用不可接受的内存量。

+0

我可能用错误的名字叫它。我指的是没有重新启动的抛弃应用程序。我用仪器进行的测试表明,它们在运行时仍具有相同的足迹。只是在我从“最近使用的应用程序”列表中删除了它们的内存占用量后才在乐器中消失。 – Jim 2013-02-27 21:52:56

+3

@Jim:你被欺骗了。死的应用程序实际上并未使用资源。但是如果没有其他需要的话,操作系统实际上可以保留内存页面,以便重新启动应用程序更快(因为它不必将任何只读内容(例如文本段)加载回内存)。但是,如果系统上的其他任何内容都需要内存,则可以将它们重新分配给新应用程序,而不会有任何性能损失。 – 2013-02-27 21:56:24

+0

好的。我在这里学到了关于多任务和最近使用的应用程序列表(http://support.apple.com/kb/ht4211)的内容。但是这仍然让我的问题得不到解答。如果我在看到性能改进之前必须从最近使用的栏中删除应用程序,Jetsam的好处是什么。我必须这样做才能在过去停止崩溃。 – Jim 2013-02-27 22:03:04

0

事实证明, 当一个程序离开它会于地面进入“暂停”状态。只要操作系统不需要它来执行其他操作,操作系统就会为该应用程序保留内存,以便程序加载速度更快。

Jettison的工作方式与上述相同:自动更新内存......与清除内存不同。

最重要的区别是,当它被抛弃,直到操作系统需要使用它的别的记忆保持不变。 清除是相同的...除了你删除的内容,除了释放内存。

+0

这是旧版iOS中的一个老问题,所以我不知道我是否认为它很重要。然而,关键是Jetsam似乎在积极抛弃暂停的节目,但执行中的节目仍在崩溃。用仪器检查记忆表明被抛弃的程序仍在记忆中。如果我手动杀死程序,执行的程序不会崩溃。与此同时,杀死的程序不再有内存占用。 – Jim 2014-06-07 17:06:19