MonoDroid アプリケーションは Mono ランタイムで実行されますが、Dalvik VM も読み込まれます。
また、MonoDroid アプリケーションは C# ライブラリよりも Java ライブラリを使用するため、メソッドを使用するには 2 つの呼び出しが必要ですか?
アプリ -> c# -> JAVA
MonoDroid アプリケーションはより多くのバッテリを消費しますか?
MonoDroid アプリケーションは Mono ランタイムで実行されますが、Dalvik VM も読み込まれます。
また、MonoDroid アプリケーションは C# ライブラリよりも Java ライブラリを使用するため、メソッドを使用するには 2 つの呼び出しが必要ですか?
アプリ -> c# -> JAVA
MonoDroid アプリケーションはより多くのバッテリを消費しますか?
大部分において、これはマイクロ最適化に近いと思います。はい、JNI によりメソッド呼び出しに追加のオーバーヘッドが発生しますが、これは物事の全体的なスキームではかなり些細なことです (たとえば、XML 処理や画像操作などとは対照的に)。さらに、とにかくすべての RAM に電力を供給する必要があります (これが DRAM の仕組みであり、これらのデバイスで RAM に SRAM を使用しているとは思えません)。そのため、2 つの VM がメモリにロードされているという事実は、追加のバッテリの使用を引き起こすべきではありません。また。
CPU 時間は決定要因になりますが、JNI が重要な要因になるとはとても思えません (そうでないことを示唆するプロファイリング データが不足しています)。