2年前、私はandroid-7(Eclair)で拡張現実フレームワークを開発しました。ARアプリケーションは計算量の多いタスクであるため、仮想環境をレンダリングおよび登録するためにJavaアクティビティで使用されるJNIc++ライブラリを開発しました。Javaで取得されたセンサーの読み取り値は、仮想環境の登録を計算するために下線付きのc++ライブラリに渡されます。3次元オブジェクトは、 GLSurfaceViewから呼び出されるネイティブの描画関数によってレンダリングされます。これにより、多くのJNI呼び出しが発生します。
ここで、アプリケーションをandroid-15(Ice Cream Sandwich)に移植したいと思います。android-9(Gingerbread)以降、AndroidではNativeActivityを使用できます。
ARアプリケーションを開発するためのより良い方法を理解したいと思います。すべてのJNI呼び出しはオーバーヘッドをもたらすため、それらを回避する方がはるかに優れています。NativeActivityを使用することは可能ですか?NativeActivityがどのように機能するかを説明する詳細なガイドは見つかりませんでしたが、このドキュメントを読むと、とにかく多くのJNI呼び出しが発生するようです。NativeActivityがどのように機能するかを説明するアーキテクチャドキュメントはありますか?NativeActivityは、Javaコードを回避するための単なる「JNIラッパー」ですか?パフォーマンスに関して、以前のようにJNIライブラリの代わりにNativeActivityを使用する利点はありますか?
どうもありがとう。