0

一部のコンピューター ロジックでは、ネイティブ C コード (Java ネイティブ メソッドから呼び出される) は Java よりも高速に実行されると思います。この場合、ndkを使用する必要があるようです。

ただし、Googleは次のように述べています。

特に、Android でネイティブ コードを使用しても、一般にパフォーマンスが大幅に向上するわけではありませんが、常にアプリの複雑さが増します。

だから私は混乱しています。ndkは必要ですか?

4

1 に答える 1

3

NDK が必要です。それがあなたのケースと関係があるかどうかは、詳細を示していないため、判断するのはかなり困難です.

サーバー側の Java とは異なり、C コードは実際には DVM の同等物よりも大幅に高速です。一方、ドキュメントが指摘しているように、通常はそうではありません。ネイティブの境界を越えるにはかなりの時間がかかります。NDK メソッドを呼び出すループでは、おそらく大きな変化は見られません。NDK の C 側に完全に実装されているループは、かなりの変化を遂げる可能性があります。

また、NDK の使用を選択すると、サポートするデバイスが大幅に制限されることにも注意してください。サポートされているデバイスごとに 1 つずつ、複数のバージョンの lib を含むファット バイナリを生成できます。もちろん、これはアプリのサイズに影響し、新しい携帯電話で動作することを保証するものではありません.

于 2013-03-18T03:37:42.453 に答える