0

私はアンドロイドに非常に新しいです。AndroidでのOSの動作に疑問があります。

Symbian OSでは、アプリケーションがクラッシュすると、デバイスはオフになり、それ自体でオンになります。

アンドロイドwhen an application gets crashed it does not disturbs the other oneのように、これはどのように起こっているのですか、誰かがこれについて説明し、アンドロイドの基本を学ぶためのチュートリアルを私に提案することができます.....

4

4 に答える 4

1

アプリケーションの基礎から

デバイスにインストールされると、各Androidアプリケーションは独自のセキュリティサンドボックスに配置されます。

  • Androidオペレーティングシステムは、各アプリケーションが異なるユーザーであるマルチユーザーLinuxシステムです。

  • デフォルトでは、システムは各アプリケーションに一意のLinuxユーザーIDを割り当てます(IDはシステムによってのみ使用され、アプリケーションには認識されません)。システムは、アプリケーション内のすべてのファイルにアクセス許可を設定して、そのアプリケーションに割り当てられたユーザーIDのみがそれらのファイルにアクセスできるようにします。

  • 各プロセスには独自の仮想マシン(VM)があるため、アプリケーションのコードは他のアプリケーションから分離して実行されます。

  • デフォルトでは、すべてのアプリケーションは独自のLinuxプロセスで実行されます。Androidは、アプリケーションのコンポーネントのいずれかを実行する必要があるときにプロセスを開始し、不要になったとき、またはシステムが他のアプリケーションのメモリを回復する必要があるときにプロセスをシャットダウンします。

このようにして、Androidシステムは最小特権の原則を実装します。つまり、各アプリケーションは、デフォルトでは、作業を実行するために必要なコンポーネントにのみアクセスでき、それ以上はアクセスできません。これにより、アプリケーションが許可されていないシステムの部分にアクセスできない、非常に安全な環境が作成されます。

総括する:

各アプリは、独自のIDと権限を持つ独自のユーザーであり、他のアプリから分離された独自のVMで実行されます。

したがって、アプリがクラッシュした場合、他のアプリは独自の完全に異なる仮想化コンテキストで実行されており、クラッシュしたアプリは影響を与えないため、このイベントを認識または気にする必要はありません(によって処理されるファイルなどのリソースを共有している場合を除く)開発者スキルとシステムレベルの例外処理の組み合わせ)。

これは、Androidでアプリの分離が維持される方法です。

于 2013-01-15T11:26:50.233 に答える
0

AndroidはLinux上で動作します。最新のPOSIX準拠のオペレーティングシステム。

読むことができる最高のものは、ウィキペディアのプロセス管理だと思います。

于 2013-01-15T11:22:29.623 に答える
0

Android OSは、アプリごとにdalvikマシンの新しいインスタンスを1つ起動します。DalvikはAndroid用のJVMの一種です。

アプリが実行されているとき、それはそれ自身のdalvikインスタンス内で実行されます。

同時に、AndroidOSは「dalvikmachine」のすべてのインスタンスを継続的に監視しています。それらの1つが応答しない場合(5秒または10秒以内)、Android OSは「dalvikインスタンス」を強制終了し、アプリはクラッシュしますが、他の実行中のアプリは他のdalvikインスタンス内で実行されるため、影響を受けません。

于 2013-01-15T11:20:16.767 に答える
0

Androidは、各アプリケーションを独自のdalvik VMで実行し、プロセス間通信に非常に厳密なアプローチを採用しています。したがって、1つのアプリケーションがクラッシュしても、依存関係を自分で導入しない限り、他のアプリケーションには影響しません(特定のバックグラウンドアプリケーションに依存するアプリケーションなど)。

于 2013-01-15T11:21:47.927 に答える