一般情况下,应用程序最多可分配26MB。但我需要更多。出于特定原因。我知道为特定应用程序分配更多内存的问题。既然是我的需要。任何人都可以帮我编写代码,以便为特定应用程序分配特定的内存块。我知道它可以通过NDK完成。但不知道该怎么做。
答案 0 :(得分:1)
根据可用的物理内存和屏幕大小,托管堆的上限为特定于设备的限制(因为位图是RAM的主要使用者之一)。在最近的设备上,此限制约为48MB。
如果您在最近的设备上设置android:largeHeap
,则该数字会大幅增加,大概为256MB。没有办法将托管堆扩展到largeHeap限制之外。
可以从使用NDK构建的本机代码访问的本机堆没有固定限制。但是你越大,你的应用就越有可能被内核杀死。内核非常努力地不杀死前台应用程序,但如果用户暂时切换掉内存生猪应用程序可能会死亡。
底线:尝试使用尽可能少的内存。