2009-10-14 44 views

回答

5

在SDK中沒有對此信息的直接訪問權限,並且應用程序不允許按照您的建議方式混淆操作系統。你在你自己的小盒子裏;蘋果希望你留在那裏。當你提出包括「系統」的問題時,你可能不在你的盒子裏。

這就是說,有一些技巧可以使用。您可以分配越來越大的內存塊,直到您收到-didReceiveMemoryWarning。在這一點上,釋放你分配的內存。這會給你一個粗略的想法,即操作系統將允許你有多少內存你有。這與操作系統當然有多少不一樣。跳閘-didReceiveMemoryWarning也會導致操作系統自己做一些內務處理,所以這是非常有效的編程方式,你必須釋放內存。

釋放內存的最有效的非編程方式是要求用戶重新啓動。對於需要大量內存(通常是遊戲)的應用程序,這種方法並非聞所未聞。

SBSettings需要越獄並且不在SDK之外。

+0

謝謝你的回答。我想進一步問一下,在哪個級別,iPhone會看到內存不足?說10%的內存剩餘? – Raptor 2009-10-14 04:44:10

+2

它沒有記錄,很難確定,因爲操作系統自己使用的內存總是在波動。你完全有可能收到內存警告,什麼也不做,並且一切都很好,因爲操作系統自己釋放了內存。由於內存碎片,也可以使用小塊而不是大塊來分配更多的內存,所以問題可能會變得很複雜。 – 2009-10-14 04:54:00