Androidの名詞の説明

以下からの翻訳:OReilly - 学習のAndroid

アクティビティ

活性は、一般に、ユーザが単一のデバイスの画面上で見て、同時にコンテンツを指します。アクティビティの複数を含むアプリケーションは、すべての操作は、ユーザがこれらのスイッチングアクティビティの間に常にあります。

それはあなたのサイトの複数のページに似ています。メインの「アクティビティ」が含まれてAndroidアプリケーション、ホーム・ページを含むWebサイト、およびAndroidのアプリケーションを対比し、それは我々が通常、最初のアプリケーション画面が表示され開くものです。そして、サイトナビゲーションメニューの同じページに複数のページを提供するものとして、andoirdアプリケーションは、この機能を含める必要があります。

アクティビティのライフサイクル

オープン状態
開いているアクティビティとメモリは、存在しないとき。活動がオンになっている場合は、コールバックメソッドの一連のインスタンス化されようとしています。その後、この活動は、操作に入ります。
注:プログラムの実行時には、開いた状態から動作状態への移行は、ほとんどのリソースを消費する操作であり、直接バッテリー寿命に影響します。自動的に活性を破壊しないシステムがもはや表示されている理由はここにありません。ユーザーが活動に復帰することをお勧めしますので、我々は彼らに、メモリ内のいくつかの時間を節約できます。

ラン状態
ラン状態は、そのアクティビティは、現在の画面で実行されている意味し、ユーザに直接影響。すべてのユーザーとの対話には、入力、タッチスクリーンとして、この活動がアクティブであることを言ったとボタンがこの活動に対処されますクリックすることができます。だから、同じ時間だけ実行中のアクティビティで。
実行中のアクティビティは、メモリやリソースへの優先アクセスする権限を持っています。Androidのは、アクティブな状態で運用活動、およびユーザへのタイムリーな応答の状態にする必要があるため。

状態を一時停止した
アクティビティが非アクティブ状態にあるとき(つまり、ユーザーの行動に影響を与えず、である)が、それでも画面で、我々は一時停止状態を呼び出しています。デバイスの画面は通常小さく、一つの活性または画面全体を占有し、または少しスペースを占有していないので、これは、典型的な設計ではありません。私たちはしばしばこのような状況が発生した、ダイアログボックスが一時停止活動をトリガー、活動の前にポップアップ表示されます。一時停止状態によって停止状態にすべての活動。
彼らが表示されている、そして画面を削除することはできませんので、しかし、それは常に優先アクセス・メモリや他のリソースをすることができます。

停止状態
の活動が見えない状態になっているが、それでもメモリで実行しているとき、私たちは停止状態を呼び出します。停止した活動が再び実行中の活動になるために戻って転送することもできます。あるいは、それは破壊され、メモリから削除されてもよいです。
ユーザーが任意の時点での活動に戻って、そして停止し活動を再開する可能性があるため、システムが停止状態に保持活動を続けるゼロから活動を開くためのコストよりもはるかに少ないです。システムは、ユーザが非常に簡単にフォアグラウンドに転送することができ、メモリにすべてのオブジェクトをロードしたためです。
活動はいつでもメモリで除去することができます停止しました。

状態に破壊している
、すでに破壊された活動がメモリ内に存在していません。この活動は、もはや必要とされ、取り外すことができるかどうかを判断しないための活動マネージャー。アクティビティが削除される前に、そのような保存されていない情報を保存するなど、いくつかの操作を実行する必要があります。アクティビティが破壊される前に、しかし、それは最初に停止されます保証することはできません。一時停止した活動も破棄することができます。したがって、例えば、これらの重要な仕事は一時停止状態で保存されていないデータを保存しません、時間を行うよりも良い状態を破壊するようになってきました。

注:アクティビティが実行されているという事実は、それはたくさんのことをやったわけではありません。それだけでユーザーの入力を待って、リスニング状態であってもよいです。同様に、停止状態の活動で何もしないようにしていません。状態は、通常、この活動が活発にユーザ入力を待っているかどうかを指すという名前の、換言すれば、状態は、主に活動が表示されているために、それはアクティブ状態である指します。

意図メッセージボディ
異なる命令転送コールの間に活性については、明示的および暗黙的に、呼び出されるコンポーネントに対して明示的に示すことにより、二つの方法に分け暗黙タイプを宣言され、そしてユーザが決定するためにシステムを呼び出す必要がありますコンポーネント。たとえば、ブラウザを開いて、私たちは、Maxthonブラウザーを開くには、指定された、または単にブラウザを開いて宣言され、システムは私たちが選ぶ手助けすることができます。

 

サービスサービス

機能および活性に似た任意のインターフェイス要素、なしにバックグラウンドで実行されますが、画面上に表示するかどうかを気にしません。例えば、我々は、背景音楽のバックグラウンドで電子書籍を見たとき。

注:Linuxサービスとは異なり、Androidのサービスは、Linuxサービス自体を呼び出すことで機能し、のデーモンは、機能を生成しました。

サービスのライフサイクルは、単に実行し、破壊され、起動し、簡単です。そのため、開発者として、あなたはそれが、このようなようにCPU、電源およびなどあまりにも多くのシステムリソースを、無駄にさせてください、私たちは自分で作成したサービスを心配する必要があります。

注:バックグラウンドでサービスを実行するには、それが別のスレッドで実行されることを意味するものではありません。現在のタスクを実行しているサービスが完了するまでに多くの時間を必要とする場合は、我々は別のスレッドで実行を許可する必要があります。そして、そうすることは比較的遅い実行しているユーザーの現在のスレッドの原因となります。さらに、活動サービスおよびアプリケーションは、一般的に、UIスレッドと呼ばれる同じメインスレッドで実行されています。

 

コンテンツプロバイダーコンテンツプロバイダ

コンテンツプロバイダーは、アプリケーション・インタフェースとの間でデータを共有することができます。各アプリケーションは、最初の独立したそれ自身のサンドボックス内で実行されるように、典型的には、アプリケーションデータを与えるために、他のアプリケーション、アンドロイドから分離します。意思によってアプリケーション間で渡される小さなパケット、およびコンテンツプロバイダは言葉パケットを持続、より適し大きなを提供します。良いサポートのCRUDのためのコンテンツプロバイダーのAPI、アプリケーションは、それを介してデータを共有できるようにします。コンテンツプロバイダは、各ユーザ・アプリケーションのためのすべての連絡先データとして、例えばコンタクトプロバイダー(接触者)。すべてのアプリケーションのためのシステム構成情報、および情報の独自のセットのアプリケーションを提供するために、設定プロバイダ(情報提供者を設定します)。メディアストア(メディアストア)は、そのようなので、上の写真、音楽、などのマルチメディアデータの保存や共有を提供します。

 

放送は、放送受信機を受け取ります

放送は、システムレベルのパブリッシュ/サブスクライブのメカニズムを受信します。正確には、オブザーバーパターンを達成することです。イベントが発生したときに、受信者がいくつかの静的コードに加入している、彼らはすぐに有効になります。

システム自体がイベントを放送してきました。例えば、SMSメッセージが配信され、電話がかかってくる、バッテリーの電力が低い、またはブートなど、すべてのこれらのイベントが放送されるシステムであり、多くの受信者がアクティブにするためにトリガされます。

 

アプリケーション・コンテキストアプリケーションコンテンツ

すべての活動、サービス、コンテンツプロバイダー、および放送受信機は、アプリケーションを構成する組み合わせ。彼らは同じアプリケーション・コンテキストで実行されます。アプリケーション・コンテキストは、アプリケーションのためのランタイム環境を提供し、それぞれのコンポーネントのプロセスを実行します。これは、さまざまなコンポーネント間のデータおよびアプリケーション・リソースの共有を可能にします。

開くための第一の成分を適用することで、アプリケーション・コンテキストが作成され、アプリケーションが破壊され続けます。我々はContext.getApplicationContext()またはActivity.getApplication()によって見積もりを取得することができます。

注意:アクティビティとサービスは、コンテキストのサブクラスです。

 

ます。https://www.cnblogs.com/lullabyus/archive/2012/01/16/2323919.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_34209406/article/details/93771290