0

一般来说,应用程序最多会分配 26MB。但我需要更多。出于特定原因。而且我知道为特定应用程序分配更多内存的问题。既然是我的需要。任何人都可以帮助我编写代码以将特定的内存块分配给特定的应用程序。我知道可以通过NDK来完成。但不知道该怎么做。

4

1 回答 1

1

基于可用物理内存和屏幕大小(因为位图是 RAM 的主要消费者之一),托管堆的上限是特定于设备的限制。在最近的设备上,此限制约为 48MB。

如果您android:largeHeap在最近的设备上进行设置,则该数字会大幅增加,可能达到 256MB。无法将托管堆扩展到 largeHeap 限制之外。

可从使用 NDK 构建的本机代码访问的本机堆没有固定限制。但是,您越大,您的应用程序就越有可能被内核杀死。内核非常努力地不杀死前台应用程序,但如果用户短暂切换,内存占用应用程序很可能会死掉。

底线:尝试使用尽可能少的内存。

于 2013-06-07T20:17:10.940 回答