2012-08-16 11 views
7

私は、Android apsのネイティブコードのライフサイクルについていくらか混乱しています。私はネイティブコードがDalvik VMの内部で実行されると言っている参照を見ましたが、それは本当ですか?私はVMがDalvikバイトコードを実行しているという印象を受けました。一方、ネイティブコードでは、VM内でJavaから呼び出されるJNIが使用されます。最後に、NativeActivityを使用すると違いはありますか?NDKのネイティブコードが正確にどこにあるのですか

私は座って自分自身に説明しようとするまで、私はNDKをかなりよく理解していると思った。私は賢明な方法で質問していることさえ確信していません。

答えて

8

ネイティブコードはDalvik VM内で実行されていると言われていますが、それは本当ですか?

これは、Dalvik VMを含むプロセス内で実行されます。個人的には、VM内での実行としては記述しません.DalvikバイトコードはVM内で実行されます。 「Dalvik VMの制御下で」より良いフレーズになるだろう、IMHO。もちろん、それはあなたの "in"の定義にまで沸きます。

最後に、NativeActivityを使用すると違いがありますか?

実際には、NativeActivity is implemented in Javaではありません。 にはJavaがない可能性がありますが、Javaはネイティブコードの実行に軽く関わっています。

+0

ありがとうございます。ネイティブアクティビティ実装を見ると、JNIがネイティブコードを呼び出すだけのラッパーに見えます。 – CatShoes

関連する問題