強制停止とキャッシュのクリアの説明

著者: Laura McKinney
作成日: 6 Lang L: none (month-011) 2021
更新日: 1 J 2024
Anonim
キャッシュとは?7分で学ぶ【分かりやすい解説シリーズ #59】【プログラミング】
ビデオ: キャッシュとは?7分で学ぶ【分かりやすい解説シリーズ #59】【プログラミング】

コンテンツ


Androidスマートフォンのアプリに問題がある場合は、「強制停止」を実行してから「キャッシュをクリア」して修正する必要があることを読んだことがあるかもしれません。そして実際には、それはまさにあなたがする必要があるものです。しかし、なぜそれが役立つのでしょうか? 「強制停止」とは何ですか?キャッシュとは何ですか?説明させてください。

強制的に止める

Androidの中心にあるのはLinuxカーネルです。これは、他の多くのリソースとともにメモリとプロセスを管理するコンポーネントです。アプリを起動するたびに、実際にはLinuxプロセスを開始しています。

プロセスは、プログラム(アプリ)の論理コンテナーです。カーネルによって起動され、実行中のすべてのアプリ間でシステムリソース(メモリおよびCPU時間を含む)を共有する方法として使用されます。各プロセスには、PID(プロセスID)と呼ばれるIDがあります。優先度、それがどれほど重要か。独自のアドレス空間に加えて、物理メモリの関連ページ。いくつかの状態情報:実行中(または実行可能)、スリープ、停止、ゾンビ。

カーネルの仕事は、CPU時間をスケジュールし、プロセスが実行できるようにプロセスにメモリを割り当てることです。動作方法は、カーネルが実行中の各プロセスにCPU時間のスライスを提供することです。プロセスがスリープしている場合(ネットワークからのデータのようなものを待っているため)、CPU時間を取得しません。このプロセスのジャグリングはミリ秒レベルで非常に高速に行われ、漫画のフレームのように、スムーズで複数のプログラムが同時に実行されているように見えます。

最後に、アプリが終了すると、カーネルはアプリが使用するすべてのリソース(開いているファイル、割り当てられたメモリなど)をクリーンアップし、最終的にそのアプリ用に作成されたプロセスを削除します。

各アプリは、実行中、一時停止中、または停止中のさまざまな状態のいずれかになります。これらは、Linuxで定義されているプロセス状態とは異なり、Androidで定義されている「アクティビティライフサイクル」を表しています。 Googleは、「ユーザーがアプリ内を移動したりアプリから戻ったりすると、アプリ内のアクティビティインスタンスがライフサイクルのさまざまな状態を遷移する」と言います。


Androidの興味深い点は、アプリを直接強制終了しないことです。代わりに、アクティビティが実行されているプロセスを強制終了し、アクティビティだけでなく、プロセスで実行されている他のすべてのものも破壊します。これは、RAMを解放する必要がある場合、またはユーザーがApplication ManagerでForce Stopを使用してプロセスを強制終了できる場合に実行します。

すべてがスムーズに動作している場合、アプリはアクティビティの状態から別の状態に移行し、最終的にAndroidによって(停止状態に移行した後)終了するか、ユーザーがフォアグラウンドに持っていくまでバックグラウンドでハングアップします再び。ただし、事態が悪化し始めた場合、アプリは誤動作する可能性があります。特定のイベントへの応答を停止したり、何らかのループに巻き込まれたり、予測できないことを開始したりする場合があります。

そのような場合、アプリを終了してから再起動する必要があります。 Force Stopの目的は、基本的にアプリのLinuxプロセスを強制終了し、混乱を一掃することです!

不正な動作をしているアプリを修正しようとする場合、強制停止を使用することが推奨される理由は、1)そのアプリの現在実行中のインスタンスを強制終了し、2)アプリがキャッシュファイルにアクセスしなくなることを意味します。ステップ2:キャッシュのクリアに進みます。

キャッシュの消去

アプリが強制終了された後、次のステップはキャッシュディレクトリ内のデータを削除することです。アプリケーションが一時ファイル、前処理済みファイルを必要とする場合、またはインターネットからダウンロードされたファイルのローカルコピーを保持したい場合、アプリケーションのキャッシュディレクトリに配置されます。各アプリには、作業ファイルを置くことができる独自のディレクトリがあります。

その考え方は次のとおりです。アプリがインターネットからファイルやデータをダウンロードする場合、帯域幅の無駄と、アプリを起動するたびにまったく同じファイルをダウンロードするための時間の無駄になります。代わりに、インターネットからのダウンロードが必要なファイルは、一度ダウンロードしてからキャッシュに保存できます。時々、アプリはこれらの一時コピーがまだ有効かどうかを確認し、必要に応じてキャッシュを更新できます。


別の例としては、アプリでファイルを処理する必要がある場合、データのデコードまたは復号化を実行する場合があります。多くのCPUサイクルを使用するアプリを起動するたびにこのデコードまたは復号化を実行するのではなく、アプリは一度実行してから結果をキャッシュに保存できます。繰り返しますが、アプリは処理されたファイルの有効性をチェックし、必要に応じてキャッシュを更新できます。

これらが一時ファイルである理由は、デバイスのストレージが不足したときにAndroidがそれらを削除できるため、これらのファイルが存在することにアプリが依存するべきではないためです。このような場合、アプリは単にデータを再度ダウンロードするか、ファイルを再度処理してキャッシュに新しいファイルを作成するだけです。

アプリは、アプリデータディレクトリを使用してファイルをより永続的に保存することもできます。これはキャッシュディレクトリとは異なり、アプリが所有する永続ファイル用に設計されています。 Androidはアプリに通知せずにキャッシュディレクトリ内のファイルを削除できるため、ユーザーが[キャッシュのクリア]ボタンを使用してそれらのファイルを削除しても安全です。

これは、一時ファイルのプールをクリアし、アプリにそれらを強制的に再作成させ、アプリに一種の新たなスタートを与えるので、誤動作するアプリの修正に役立ちます。これにより、一時ファイルまたはキャッシュファイルの処理中にエラーが発生したため、多くの場合、問題を解決できます。

キャッシュをクリアすることのもう1つの利点は、ストレージスペースが解放されることです。したがって、内部ストレージが不足している場合は、すべてのアプリのキャッシュデータをクリアすると役立ちます。

要約

Android Pベータ中にいくつかの実験を行った後、Googleの最新バージョンのAndroidは、強制停止とキャッシュのクリアの以前のバージョンと同じボタンと機能を保持しています。両方とも、アプリの設定メニューの下にあります。

ただし、Android 9.0 Pieには、応答しないアプリを自動的に閉じるという新しい機能が導入されています。これは、応答を停止するアプリを強制終了する必要がないことを願っています。システムはすべてを自動的に処理する必要があります。そのため、ユーザーがPieを実行している場合、応答しないアプリを警告する「アプリが応答しません」(ANR)ダイアログボックスは表示されません。ただし、何らかの理由でアプリがPieの応答を停止した場合、ユーザーはアプリを強制終了して[キャッシュをクリア]ボタンを試してから再起動する必要があります。


アプリのキャッシュをクリアする方法の説明が必要な場合は、Android 6.0 Marshmallowでアプリのデータとキャッシュをクリアする方法や、Androidデバイスのキャッシュを消去してストレージスペースを取り戻す方法など、優れたガイドが多数あります。強制停止の使用方法は非常によく似ています。リンクされたガイドの指示に従ってください。ただし、「キャッシュのクリア」ではなく「強制停止」をタップします。

強制停止およびキャッシュのクリアの経験は何ですか?キャッシュファイル用に多くのストレージスペースを使用するアプリがありますか?以下のコメントで教えてください。

ポケストップやジムが隣人の庭に何とかあるエリアに住んでいる場合、悪いニュースがあります。による バラエティ、カリフォルニア州の裁判所に提出された和解案は、承認された場合、それらをすべて廃止します。和解案は、ニュージャージー州在住のジェフリーマーダーが2016年にナイアンティックラボ、ザポケモンカンパニー、および任天堂に対して提起した訴訟から生じています。訴訟において、マーダーは、ポケモンゴーのポケ...

更新、2019年2月21日(東部時間午後3時): 少し時間がかかりましたが、Nianticは今月初めに発表したPokémonGoスナップショット機能を公開しています。この件に関するツイートによると、この機能はレベル5以上のすべてのトレーナーがまもなく利用可能になる予定です。...

今日の人気