2013-02-27 102 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