2

Android での Dalvik ブリッジ関数と Dalvik ネイティブ関数呼び出しの違いは何ですか?

4

1 に答える 1

1

簡単に言えば、

AndroidはLinuxベースのOSであり、Linuxカーネル(Dalvik VM)を実行します。あらゆる種類のJavaベースの実行可能ファイルよりも効率的にCベースのプログラムを実行できます。Javaベースの実行可能ファイルは簡単に作成できますが、パフォーマンスとスペースの要件が高くなります。

C言語ベースのプログラムはネイティブコードと呼ばれ、DalvikネイティブコードはDalvikVMで実行するためにコンパイルされたCプログラムに他なりません。

JNI(NDK)を使用して、Android用のNativenessとJavaアプリケーション開発の間に作成されるブリッジがあります。これにより、Cベースのコードからより多くの利益を得ることができます。

言い換えると、Dalvik Native Functionは、JNIのパフォーマンスが不十分であると見なされた場合に公開される可能性が最も高いAPIを表します。Bridgeバージョンは、いくつかの大量のObject呼び出しの最適化として使用されますが、ある時点でサポートが終了する可能性があるため、通常は使用しないでください。 参照

于 2012-05-09T06:19:00.223 に答える