2012年7月9日月曜日

Androidシステムアーキテクチャ



Androidシステムアーキテクチャの概要


アーキテクチャ・・・ハードウェア、OS、ネットワーク、アプリケーションソフトなどの基本設計や設計思想のこと

以下は概要図になります。ちょっと雑ですみません。

アプリケーション
---------------------------------------------
アプリケーションのフレームワーク
---------------------------------------------
ライブラリ  Androidランタイム
---------------------------------------------
Linuxカーネル(2.6)




■アプリケーションフレームワーク
 
javaで実装されていています
  • ActivityManager(Activity管理)
  • WindowManager(Window管理)
  • ContentProviders(アプリケーション間でのデータ共有管理)
  • ViewSystem(ユーザーインターフェース管理)
  • PackageManager(インストール管理)
  • TelephonyManager(電話機能管理)
  • ResourceManager(リソース管理)
  • LocationManager(位置管理)
  • NotificationManager(通知管理)
■ライブラリ
  • SurfaceManager(画面へのアクセス管理、グラフィックの統合)
  • MediaFramework(オーディオや画像の再生など)
  • SQLite(データベース)
  • OpenGL ES(3Dグラフィックエンジン)
  • FreeType(フォントのレンダリング機能)
  • Webkit(Webブラウザによる描画機能)
  • SGL(2Dグラフィックエンジン)
  • SSL(サーバー認証と通信暗号化)
  • libc(共有ライブラリ)
■Androidランタイム


C, C++で実装されています。
  • コアライブラリ()
  • Dalvik仮想マシン
AndroidアプリケーションはDalvik仮想マシン上で動作する
注)Dalvikは「java仮想マシン」とされることもあるが、動作するバイトコードがJavaバイトコードではないため、厳密にはこれは正確ではありません。低メモリでも動く!!

■Linuxカーネル
  • ディスプレイドライバ
  • カメラドライバ
  • フラッシュメモリドライバ
  • バインダ(IPC)ドライバ
  • キーパッドドライバ
  • WiFiドライバ
  • オーディオドライバ
  • 電源管理
ライセンスについて
開発するアプリはソースコードの公開義務のない[Apache Licence2.0]が適用される

GPL…General Public License はコピーレフトのソフトウェアライセンスの代表的なもので改変したプログラムを公開する義務がある

0 件のコメント:

コメントを投稿