2016-07-21 11 views
0

私は自分のRESTサービスにアクセスするためにvolleyを使用しています。これは私のコードはどのように見えるかです:Volley Request spawnスレッド

StringRequest postRequest = new StringRequest(Method.POST, "http://....", 
    new Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) { 
      ... 
     } 
    }, 
    new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      ... 
     } 
    } 
) { 
@Override 
protected Map<String, String> getParams() { 
    ... 
} 

@Override 
public Map<String, String> getHeaders() throws AuthFailureError { 
    ... 
}}; 

postRequest.setShouldCache(false); 
Volley.newRequestQueue(context).add(postRequest); 

初めから「待って」のステータスを持っている5つの新しいスレッドが作成されることを、期待通りにすべてが動作しますが、私はADVを開いたとき、私は見ることができます。これらのスレッドは決して削除されません。

私の質問です:これは正常な動作ですか?私のアプリのパフォーマンスに何か問題はありますか?私はそれがしばらく後に減速する印象を持っているので。私は本当にアプリケーションを終了してもう一度やり直すまで、ステータスが「Wait」のリストが数百スレッドあります。

答えて

0

source codeによると、それは正常な動作です。なぜなら、新しいリクエストキューを作成した直後にスレッドを作成するからです。

+0

ありがとう、だからシングルトンのヘルプを使用していますか? https://developer.android.com/training/volley/requestqueue.html#singleton – gnome

+0

シングルトンとは関係ありません。 Volleyは、より効率的な方法でより多くの並列要求を行うためにプールに5つのスレッドを作成します。あなたはそれについて心配するべきではありません。 – Divers

関連する問題