從Max size of an iOS application我知道一個典型的iOS應用程序二進制文件可以達到2GB。但是,可執行文件限制爲100MB。典型iOS應用程序的最大堆限制是多少?如果能讓我知道堆/數據段/代碼段的限制,那將是一件好事。典型的iOS應用程序允許的最大堆大小是多少
蘋果有任何限制嗎?
從Max size of an iOS application我知道一個典型的iOS應用程序二進制文件可以達到2GB。但是,可執行文件限制爲100MB。典型iOS應用程序的最大堆限制是多少?如果能讓我知道堆/數據段/代碼段的限制,那將是一件好事。典型的iOS應用程序允許的最大堆大小是多少
蘋果有任何限制嗎?
正如@ gnasher729說,如果使用了太多RAM
您的申請將被殺死。
iOS中的RAM使用沒有絕對硬限制。但Apple確實分別爲UIApplicationDelegate
和UIViewController
提供了方法applicationDidReceiveMemoryWarning
和didReceiveMemoryWarning
。實施這些方法可以讓你知道蘋果什麼時候殺死你的應用程序,除非你快速地減少你的內存使用量。這裏有一些關於這些文件: App Programming Guide for iOS: Performance Tips。
如果使用太多的RAM,應用程序將被終止。它也可能導致其他應用程序被殺害。所以不要要求任何限制,獲得一個iPhone 4s,並確保你的應用程序運行良好。你不會通過使用太多的記憶來交朋友。
添加一個小點;因爲問題特別使用術語*堆*。您應用程序的堆大小也受到您在特定時間點使用堆棧的限制。基本上,堆從底部開始向上生長,堆棧從頂部開始向下生長。實際的實現細節各不相同,但實質上堆棧和堆爭用相同的內存。 – Avi