Androidとは?(3)

以下の文章はこちらを参考に翻訳したものです。

                                                                                                                        • -

ライブラリ
AndroidAndroidシステムの多様なコンポーネントで利用されているC/C++ライブラリ群を含んでいます。これらの機能はAndroidアプリケーションフレームワークを通して開発者に公開されています。コアライブラリのいくつかを下記に挙げます。

  • システムCライブラリ BSDによって開発された標準的なCシステムライブラリ(libc)の実装。Linuxベースの組み込みデバイス用に最適化。
  • メディアライブラリ PacketVideoのOpenCOREベース。このライブラリは、一般に普及している多くのオーディオ・ビデオフォーマットの再生と記録をサポート。さらに、MPEG4, H.264, AAC, AMR, JPG, PNGを含む静止画像もサポート。
  • サーフィスマネージャ ディスプレイサブシステムへのアクセスを管理。また、複数のアプリケーションから2D及び3Dグラフィックスをシームレスに合成。
  • LibWebCore Androidブラウザと組み込みWebビューの両方に採用されている最新のWebブラウザエンジン
  • SGL 基礎となる2Dグラフィックスエンジン
  • 3Dライブラリ OpenGL ES 1.0 APIに準拠。ハードウェア3Dアクセラレーション(ハードウェア依存)か内蔵の、高度に最適化された3Dソフトウェアラスタライザーのどちらかを使用。
  • FreeType ビットマップとベクトルフォントレンダリング
  • SQLite 強力で軽いリレーショナルデータベースエンジン。全アプリケーションで利用可能。

Android ランタイム
AndroidJavaのコアライブラリで利用可能な機能とほぼ同様の機能を提供するコアライブラリ群を持っています。

Androidアプリケーションは、Dalvik VMインスタンスを生成することによって、独立したプロセスで動作します。Dalvikは効率的に複数のVMが動作できるように実装されています。Dalvik VMは、少ないメモリ領域でも動作するよう最適化されたDalvik Executable(.dex)フォーマットのファイルを実行します。VMレジスタベースです。Javaコンパイラによってコンパイルされ、標準装備のdxツールで.dexフォーマットに変換されたクラスを実行します。

Dalvik VMはスレッディングやローレベルなメモリ管理のような下位層の機能はLinuxカーネルに依存しています。

Linuxカーネル
Androidはセキュリティ、メモリ管理、プロセス管理、ネットワークスタック、ドライバモデルのようなコアシステムサービスをLinuxバージョン2.6に依存しています。また、カーネルはハードウェアと前述以外のソフトウェアとの間の抽象レイヤとしても振舞います。

                                                                                                                        • -


Android翻訳目次へ