Android:Volleyフレームワーク分析(二)-リクエストキュー
899 ワード
Android:Volleyフレームワーク分析(一)--準備を要求して発行する操作手順では、要求が発行される手順について理解しました.この節では、要求キューの件を見てみましょう.
上記のコードにより、1つのリクエストがVolleyのリクエストキューに追加され、リクエストが1つずつ実行されます.
まず、リクエストキューの内部にあるいくつかのプロパティを見てみましょう.
mCurrentRequests:現在のキュー内のすべてのリクエストセット(待機中および実行中、ワークキュー内およびキャッシュキュー内を含む).
mCacheQueue:キャッシュキュー(Volleyのキャッシュメカニズム)
mNetworkQueue:ワークキュー、本当に発行されるリクエストはここに保存されます.
mWaitingRequests:これはMapオブジェクトで、VolleyはrequestのUrlをkey値として使用し、Queueオブジェクトに対応し、Queueにはkey値(url)のようなrequestリクエストが格納されます.reqeustがキャッシュから取得するように設定されている場合、このオブジェクトが使用されます.
Addコードを見てみましょう.
requestQueue.add(request);
上記のコードにより、1つのリクエストがVolleyのリクエストキューに追加され、リクエストが1つずつ実行されます.
まず、リクエストキューの内部にあるいくつかのプロパティを見てみましょう.
mCurrentRequests:現在のキュー内のすべてのリクエストセット(待機中および実行中、ワークキュー内およびキャッシュキュー内を含む).
mCacheQueue:キャッシュキュー(Volleyのキャッシュメカニズム)
mNetworkQueue:ワークキュー、本当に発行されるリクエストはここに保存されます.
mWaitingRequests:これはMapオブジェクトで、VolleyはrequestのUrlをkey値として使用し、Queueオブジェクトに対応し、Queueにはkey値(url)のようなrequestリクエストが格納されます.reqeustがキャッシュから取得するように設定されている場合、このオブジェクトが使用されます.
Addコードを見てみましょう.
public Request add(Request request) {
//request Queue
request.setRequestQueue(this);
Set var2 = this.mCurrentRequests;
// request
synchronized(this.mCurrentRequests) {
this.mCurrentRequests.