他们在 android.com 上说,如果您使用 Java,则可以使用的最大内存为 16 MB。至少这是设备应该支持的。如果您的手机较旧,您会发现无法获得更多,反而会收到 OutOfMemoryError。如果您使用 NDK 做同样的事情,则不会。在我的应用程序中,我试图获得 50MB 甚至更多,到目前为止,Android 还算不错。
我在 android.com 上没有找到与此相关的任何内容。
像Java一样有限制吗?
如果是:限制是多少?
如果不是:那有什么好的价值?
问题是,我必须根据该大小构建我的代码。
[编辑:] 我尝试了 Seva Alekseyev 的建议。
root@android:/ # ulimit -a
ulimit -a
time(cpu-seconds) unlimited
file(blocks) unlimited
coredump(blocks) 0
data(KiB) unlimited
stack(KiB) 8192
lockedmem(KiB) 64
nofiles(descriptors) 1024
processes 7806
flocks unlimited
sigpending 7806
msgqueue(bytes) 819200
maxnice 40
maxrtprio 0
resident-set(KiB) unlimited
address-space(KiB) unlimited
root@android:/ # ulimit -v
ulimit -v
unlimited
root@android:/ #
我请求的内存(通过使用“alloc”或“new”)是虚拟内存(ulimit -v)。所以没有机会弄清楚我能得到多少?!