v8java-scriptエンジンを実行するために必要な最小RAMはいくつですか。
限られたメモリデバイスに適していますか?アンドロイドアプリケーションの組み込みサーバーとしてnode.jsを使用したい。それは良い考えですか?
V8は、ページと呼ばれる1MBのチャンクでJavaScriptヒープのメモリを要求します。これらは、さまざまな種類のオブジェクトを含むスペースにグループ化されます。7つのスペース(from、to、pointer、data、code、cell、map)、またはラージオブジェクトのスペースを数える場合は8つのスペースがあります。少なくとも、スペースごとに少なくとも1ページが必要なので、そこには7MBが必要です。V8自体は約3MBです(少なくともARM、YMMVでは)。さらに、スクラッチスペース用にさらに2MB程度が必要になります。つまり、少なくとも合計で12MBになります。通常の操作では、合計で20〜30MBを使用できるようにする必要があります。
これはすべて、Androidデバイスに簡単に収まるはずです。私が知っているすべてのデバイスには少なくとも256MBのRAMがあり、OSや他のアプリはその少なくとも半分を使用することが期待できます。Android WebブラウザにはすでにV8が組み込まれており、問題がないことに注意してください。ブラウザのV8インスタンスは、Node.jsサーバーのV8部分よりもメモリフットプリントが大きい可能性があります。
まず、node.jsをAndroidアプリに埋め込む方法を教えてください。
あなたの質問へ:メモリ使用量は、システムアーキテクチャであるnode.js / V8のさまざまなコンパイルフラグに大きく依存しているため、質問に100%答えることはできませんでした。
ガベージコレクタの動作を微調整することも興味深いかもしれません。(非常に大まかに:CPUを増やす(ガベージコレクションをより頻繁に行う)<->メモリを増やす(メモリを「浪費」し、後でクリーンアップする)