2013-06-06 53 views
0

一般情況下,應用程序將分配最大26MB。但我需要它更多。出於特定的原因。而且我知道爲特定應用程序分配更多內存的問題。因爲這是我的需要。任何人都可以幫助我編寫用於將特定內存塊分配給特定應用程序的代碼。我知道它可以通過NDK完成。但不知道該怎麼做。Android如何增加使用NDK的應用程序內存

回答

1

根據可用的物理內存和屏幕大小(因爲位圖是RAM的主要使用者之一),託管堆限制在設備特定的限制範圍內。最近的設備上這個限制大約爲48MB。

如果您在最近的設備上設置了android:largeHeap,那麼這個數字會大幅增加,大概爲256MB。無法將託管堆擴展到largeHeap限制之外。

從本地代碼訪問的本機堆沒有固定的限制。儘管你越大,你的應用程序被內核擊中的可能性就越大。內核非常努力地不會殺死前臺應用程序,但如果用戶短暫地切換,內存管理應用程序很可能會死亡。

底線:嘗試使用盡可能少的內存越多越好。

+0

「android:largeHeap」不是解決方案。事實上,我也使用過。但我的申請很特別。所以我需要NDK來增加內存。我想要的只是一個使用malloc控制內存並通過應用程序釋放它的示例。我不需要擔心其他將要運行的應用程序,因爲我知道它是我的應用程序,它是設備上運行的唯一應用程序。所以,如果你有這方面的事情,請幫助我。除此之外,我知道你在這裏轉載的所有內容。 – kumar

相關問題