Android と Java 8 の互換性: 公式問い合わせ
Android 開発者にとって、Java 8 の互換性の問題は不確実性のベールに包まれていることがよくあります。この記事では、公式ドキュメントを詳しく調べて包括的な回答を提供することで、この問題を明確にしようとしています。
Android では Java 8 はサポートされていますか?
元々、Android は公式にはサポートされていませんでした。 Java 8 をサポートします。ただし、これは Android Studio 3.0 の導入により変更され、Java 8 のネイティブ サポートが提供されるようになりました。これは、Java の利点を享受できることを意味します。 Android 開発プロジェクトでは、ラムダ、ストリーム、メソッド参照などの 8 を使用できます。
Retrolambda とのギャップを埋める
Android Studio 3.0 より前では、開発者はJava 8 と Android の間の互換性のギャップを埋めるための gradle-retrolambda。この Gradle 依存関係には、Java 8 バイトコードを Java 6/7 バイトコードに変換するツールである Retrolambda が統合されており、Android アプリケーションで Java 8 機能を使用できるようになります。
Android の限定的な Java 7 サポート
Android は、KitKat 以降を実行しているデバイスでのみ Java 7 をサポートすることに注意することが重要です。ただし、これらのデバイスでも、invokedynamic 命令を除き、完全な Java 7 仕様は実装されていません。
結論
要約すると、Android Studio 3.0 はネイティブ サポートを提供するようになりました。 Java 8 では、gradle-retrolambda などのサードパーティ ツールが不要になります。このリリースより前は、gradle-retrolambda が Java 8 互換性の回避策を提供し、バイトコードを Java 6/7 に変換し直していました。 Android の Java 7 サポートは、KitKat 以降を実行しているデバイスに限定されており、invokedynamic 命令はサポートされていません。
以上がAndroid は Java 8 を正式にサポートしていますか? 以前は互換性はどのように扱われていましたか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。