我正在閱讀一些人,指出如果某人iPhone上的另一個(第三方)應用程序泄漏了內存,這可能會減少應用程序本來可用的RAM的(神祕)數量。iPhone:從其他應用程序佔用RAM泄漏?
這使我困惑 - 當應用程序被用戶關閉時,並不是所有的應用程序內存都會被釋放嗎? iPhone上一次只能打開一個應用程序?
我正在閱讀一些人,指出如果某人iPhone上的另一個(第三方)應用程序泄漏了內存,這可能會減少應用程序本來可用的RAM的(神祕)數量。iPhone:從其他應用程序佔用RAM泄漏?
這使我困惑 - 當應用程序被用戶關閉時,並不是所有的應用程序內存都會被釋放嗎? iPhone上一次只能打開一個應用程序?
通常,應用程序分配的任何內存將在退出時釋放。但是,蘋果的許多應用程序在「關閉」後仍繼續運行,因此Mail中的內存泄漏會影響可用內存。
此外,還有那些聲稱釋放分配內存的應用程序。除了強制緩衝區緩存中的某些髒頁之外,他們真的什麼都不做,但他們出現做某事,所以人們相信他們必須做一些有用的事情。
好,但只是蘋果應用程序 - 而不是第三方?第三方應用程序可以在後臺永久運行進程,監控,等待什麼?該應用程序現在可以與其他應用程序通信的概念是什麼? – LouisLeaky 2010-01-23 07:34:11
不可以,通知服務ru ns在後臺,但這只是一個進程,它處理每個應用程序的通知。應用程序實際上只能通過將URL從一個應用程序傳遞到另一個應用程序進行通信。第一個應用在第二個應用開始前退出。 – 2010-01-23 20:42:58
在越獄手機上 - 是的,第三方應用程序可以與您同時運行。內存不足常見於喜歡一次運行多個應用程序的人員,因此需要任務管理器,查殺任務等。
在未受影響的電話上 - 不。你的是唯一正在運行的非蘋果應用程序,沒有其他人可以同時運行。
那麼你能做什麼?你所能做的就是儘量使用你可能已經在做的最小記憶。實際上,你只能用工廠測試,沒有受到攻擊的手機,除非你會花費數小時試圖取悅所有人。如果您認爲自己可能使用的太多,則可以使用工具工具(「在Xcode中使用性能工具運行>」來識別更大的分配),然後在此處發佈該代碼塊以獲取如何減少它的想法。
我還沒有真正開發,只是研究和好奇。我當然不會擔心黑客手機。是否沒有任何一個第三方應用程序可以在後臺運行的進程始終等待收到的郵件或其他內容? – LouisLeaky 2010-01-23 08:21:32
蘋果的任務,是的 - 但你的應用程序不必處理降低的內存可用性。它是操作系統的一部分,整體內存可用性考慮到了這一點等等。第三方任務,沒有。 – 2010-01-23 08:23:32
「推送通知」...? – LouisLeaky 2010-01-23 09:36:49
您應該運行儀器,然後添加儀器「Memory Monitor」以查看手機上所有其他進程的內存使用情況。 (添加窗口 - >庫,然後將內存監視器儀器拖到儀器面板。
我仍然試圖確定的是爲什麼iOS從我的應用程序釋放內存,而不是所有其他內存豬應用程序當前沒有運行
可用內存的數量不是未知的,它可以很容易地獲得,我的手機目前配置爲在狀態欄中顯示它 – 2010-01-23 07:33:49
我還沒有一個!你的意思是閃光內存或應用程序eDRAM? – LouisLeaky 2010-01-23 07:55:25