我正在開發一個Android應用程序,它有很多使用大量RAM的位圖。我的問題是,當我的應用程序長時間運行並且內存使用率超過64 MB時,應用程序崩潰時出現「內存不足錯誤,VM不會讓我們分配......等等」。爲什麼我的Android應用程序的內存限制最大爲64 MB?
雖然其他應用程序,如臉譜達到200 MB RAM有時沒有任何崩潰,並具有非常快的性能。我的設備是Galaxy S II。
請注意,我的問題不是減少內存使用量,而是關於我的應用程序和其他應用程序之間的內存限制差異。
謝謝。
我正在開發一個Android應用程序,它有很多使用大量RAM的位圖。我的問題是,當我的應用程序長時間運行並且內存使用率超過64 MB時,應用程序崩潰時出現「內存不足錯誤,VM不會讓我們分配......等等」。爲什麼我的Android應用程序的內存限制最大爲64 MB?
雖然其他應用程序,如臉譜達到200 MB RAM有時沒有任何崩潰,並具有非常快的性能。我的設備是Galaxy S II。
請注意,我的問題不是減少內存使用量,而是關於我的應用程序和其他應用程序之間的內存限制差異。
謝謝。
我認爲應用程序可以使用的內存量有限制...以前是32MB ...可能會有一個權限,您可以更改以請求更多的內存,就像您一樣可以請求硬件加速。從一個快速的谷歌android:largeHeap =「true」可能是你的答案...另外Runtime.getRuntime()。maxMemory();可能有幫助? This link也很有趣......
vm爲每個應用程序預留的內存量不是Android生態系統的一部分,無法確定,它是製造商給出的配置的一部分。
通常,有關每個虛擬機的內存大小的最後一個單詞由文件build.prop
給出。
如果你不知道你在做什麼,不要使用NDK技巧。
我無知地說,但我真的懷疑Facebook使用200MB的內存。 – AedonEtLIRA
打開它,並保持向下滾動更多新聞提要幾分鐘,然後看。 –