2

NDK コードを使用してカメラの LED をオン/オフする方法があれば教えてください。Javaコードを使用して実行しましたが、より高速に実行する必要があるため、NDKコードが探しているものだと思います. 別の方法はありますか?

Galaxy Nexus で実行しようとしていますが、明るさを設定するための LED 制御ファイルが見つかりません。何か助けはありますか?

ありがとう!

4

1 に答える 1

3

Java 実装に固執します。(Google が提供する NDK API はありません。)

同じ質問をしている他の Google グループ ディスカッション:

https://groups.google.com/forum/#!topic/android-ndk/EK3gPnu30Nw

https://groups.google.com/forum/#!msg/android-ndk/AyEMaRshntM/qlmnXptzfDMJ

Android については「パフォーマンスのヒント」をお読みください。Google は、 「高速化」ではなく「移植」のために NDK を使用しないと明確に述べています。

ネイティブ コードは主に、Java 言語で記述された Android アプリの一部を「高速化」するためではなく、Android に移植したい既存のネイティブ コードベースがある場合に役立ちます。

ここで、NDK パフォーマンスのヒントの全文をお読みください。

ネイティブ メソッドを慎重に使用する

Android NDK を使用してネイティブ コードでアプリを開発することは、Java 言語を使用してプログラミングするよりも必ずしも効率的ではありません。1 つには、Java ネイティブへの移行に関連するコストがあり、JIT はこれらの境界を越えて最適化できません。ネイティブ リソース (ネイティブ ヒープ上のメモリ、ファイル記述子など) を割り当てる場合、これらのリソースをタイムリーに収集するのは非常に困難になる可能性があります。また、実行するアーキテクチャごとにコードをコンパイルする必要があります (JIT があることに依存するのではなく)。同じアーキテクチャと見なすものに対して複数のバージョンをコンパイルする必要がある場合もあります。G1 で ARM プロセッサ用にコンパイルされたネイティブ コードは、Nexus One で ARM を十分に活用できず、Nexus One で ARM 用にコンパイルされたコードです。勝った'

ネイティブ コードは主に、Java 言語で記述された Android アプリの一部を「高速化」するためではなく、Android に移植したい既存のネイティブ コードベースがある場合に役立ちます。

ネイティブ コードを使用する必要がある場合は、JNI に関するヒントをお読みください。

ヒント: Josh Bloch の「Effective Java」の項目 54 も参照してください。

ソース: http://developer.android.com/training/articles/perf-tips.html#NativeMethods

于 2015-03-15T16:50:36.940 に答える