运行v8 Java脚本引擎所需的最低RAM是多少?
它适合内存有限的设备吗?我想在Android应用程序中使用Node.js作为嵌入式服务器。这是一个好主意吗?
运行v8 Java脚本引擎所需的最低RAM是多少?
它适合内存有限的设备吗?我想在Android应用程序中使用Node.js作为嵌入式服务器。这是一个好主意吗?
V8以1 MB为单位的页面(pages)请求内存用于JavaScript堆。这些页面被分组到包含不同对象种类的空间(spaces)中。有7个空间(来自(from)、去向(to)、指针(pointer)、数据(data)、代码(code)、单元(cell)和映射(map)),或者如果计算大对象空间,则有8个空间。每个空间至少需要一个页面,因此至少需要7 MB。V8本身大约是3 MB(至少在ARM上,具体因情况而异)。此外,您需要另外约2 MB的刮擦空间。因此,总共最少需要12 MB。您可能希望在正常运行时总共拥有20-30 MB可用空间。
所有这些都应该轻松适合任何Android设备。我所知道的所有设备都至少有256 MB的RAM,您可以预期操作系统和其他应用程序使用至少其中一半。请注意,Android Web浏览器已经嵌入了V8并且没有问题。浏览器的V8实例可能比Node.js服务器的V8部分的内存占用更大。
首先,我想了解如何将node.js嵌入到Android应用程序中。
关于您的问题:内存使用情况很大程度上取决于node.js/V8的各种编译标志、系统架构等因素,因此无法百分之百地回答您的问题。
调整垃圾收集器的行为也可能是有趣的。(粗略地说:更多的CPU(更频繁地进行垃圾收集)<-->更多的内存(“浪费”更多的内存并稍后清理)