バックグラウンドの相関関係とシステム アーキテクチャの分析


1. Android の背景と現在のステータス

Android システムは Andy Rubin によって作成され、後に Google によって買収されました。最も古いバージョンは次のとおりです。 Android 1.1 バージョン。 最新バージョンは 5.28 で、Google I/O カンファレンスで発表されました。興味深いことに、Android システムの名前はすべてスナックにちなんで付けられています。次の表は、15 の Android バージョン名、対応する API 番号、リリース時期を示しています。 !

Android 3.1: ハニカム: ハニカムAndroid 3.2: ハニカム: ハニカムAndroid 4.0: Ice Cream Sandwich:アイスクリームサンドイッチAndroid 4.1: ジェリービーン: ジェリービーンAndroid 4.2: ジェリービーン: ジェリービーンAndroid 4.3 : ジェリービーン: Jelly BeanAndroid 4.4: KitKat: KitKatAndroid 5.0: Lollipop: ロリポップAndroid M: プレビュー

さて、上記の公開バージョンに加えて、もちろん他のバージョンもいくつかあります。2015.1 の時点で、各バージョンの市場シェアは次のとおりです。質問: システムのバージョンがたくさんあるのですが、どのバージョンをターゲットにして開発すればよいのでしょうか? これは Android が必ず直面する Android の「断片化」問題ですが、この問題は次の 2 つに分けられます。 ① システムの断片化: アプリを開発する場合、たとえば、さまざまな Rom カスタマイズが普及しているため、最低の互換性はバージョン 2.3 までである必要がある場合があります。システムにより、カメラコールなど、カスタムROMでは実行可能だが実行不可能な問題が発生します~ ②画面の断片化: 市場には、4.3 インチ、4.5 インチ、4.7 インチ、5.0 インチ、5.3 インチなど、さまざまな画面サイズの携帯電話が販売されています。携帯電話に加えて、Android タブレットもあります。もちろん、この画面適応の問題については、最初に学習するときにこれらの複雑なことを考慮する必要はありません。今後、実際の開発について詳しく説明します。


2. Android システム機能とプラットフォーム アーキテクチャ

Android系统份额分布图(截止2015年1月)システム機能:

アプリケーション フレームワークは、

コンポーネントの再利用と置き換え

をサポートします (アプリはリリース時にフレームワークの規則に準拠しており、他のアプリもこのモジュールを使用できます) )
  • Dalvik仮想マシン: モバイルデバイス用に特別に最適化 -統合ブラウザ: オープンソース

    WebKit
  • エンジン
  • SQLite構造化データストレージ

  • 最適化されたグラフィックスライブラリ、マルチメディアサポート、GSMテレフォニー技術、Bluetoothなど

  • ソフトウェアスタックレイヤー
  • 構築を使用

  • プラットフォームアーキテクチャ図:

アーキテクチャの簡単な理解:

Android平台架构图

アプリケーション(アプリケーション層)

一般的に、アプリケーション層の開発はこのレベルで実行されると言われています。もちろん、これには、Java 言語を使用して、システムに組み込まれた一連のアプリケーションが含まれています

  1. アプリケーション フレームワーク (アプリケーション フレームワーク層) システムに組み込まれているのか、自分で作成したアプリに組み込まれているのかに関係なく、この層を使用する必要がありますなど、着信通話をブラックリストに登録して自動的に電話を切りたい場合は、TelephonyManager を使用する必要があります。 この層を通じて、基礎となる実装を気にすることなく、ハングアップ操作を簡単に実装できます

  2. ライブラリ (ライブラリ) + Android ランタイム (Android ランタイム) Android は、メディア フレームワークなどのプラットフォームのさまざまなコンポーネントで使用される C/C++ ライブラリのセットを提供します。Android ランタイムは次のもので構成されます。 Android コア ライブラリ + Dalvik 仮想マシンは、Dalvik 仮想マシンで構成されます。Dalvik 仮想マシンは、高速な CPU 計算速度と大量のメモリ容量を必要としないという特徴があります。各アプリには Dalvik プロセスがあり、その単純な実行プロセスは次のとおりです: Dalvik的运行流程

  3. Linux カーネルここでは、基盤となるドライバー、セキュリティなどのいくつかのシステム サービスが関係します。 、メモリ管理、プロセス管理など

3. このセクションの概要:

このセクションでは、Android の歴史的背景と現状を理解した後、Android のシステム特性とシステム アーキテクチャを簡単に分析します。 . これらの概念的なことだけを理解する必要があります。このセクションでは、Android 環境の構築を開始します。


システムバージョン名APIバージョン番号リリース時期
Android 1.5: Cupcake: Cupcake32009.4.30
Android 1.6: ドーナツ: ドーナツ 4 2009.9.15
Android 2.0/2.0.1/2.1: エクレア: マフィン5/6/72009.10.26
Android 2.2/2.2.1 :Froyo:禅ヨーグルト 82010.5.20
Android 2.3: ジンジャーブレッド: ジンジャーブレッド92010.12.7
Android 3.0: ハニカム: ハニカム11 011.2.2
122011.5.11
132011.7.13
14 2011.10.19
162012.6.28
172
182013.7.25
192013.11.01
21 2014.10.16
222015.5.28