httpurlconnection ist auf Android 4.2 sehr langsam

Ich kann über httpurlconnection erfolgreich eine Verbindung herstellen, Daten senden und empfangen. Es dauert jedoch sehr lange, bis alle Daten auf meinem Telefon (Samsung s4, 4.2) und dem Android 4.2-Emulator geladen sind. Aber es dauert fast 1-2 Sekunden (was sehr schnell ist), um Bilder auf dem Android 2.3.x Emulator zu laden. Schneller als mein Galaxy S4 auf http-Verbindung.

Ich verwende AsyncTask und mein Code funktioniert auf beiden. Es ist nur langsam auf Android 4.2s. Ich habe versucht, chunkedStreaming zu entfernen, am Leben zu bleiben, Timeout-Werte usw. zu ändern, aber immer noch keinen Erfolg

Hier ist mein Code

HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                 urlConnection.setRequestMethod("POST");
                 urlConnection.setDoOutput(true);
                 urlConnection.setDoInput(true); 

                 urlConnection.setUseCaches(false);
                 urlConnection.setChunkedStreamingMode(0);
                 urlConnection.setRequestProperty("Connection", "Keep-Alive");
                 urlConnection.setConnectTimeout(6000);
                 urlConnection.setReadTimeout(6000);
                 urlConnection.setRequestProperty("Content-Type", "multipart/form-data;charset=UTF-8;boundary="+boundary);

                 urlConnection.connect();

Gibt es Unterschiede zwischen den httpurlconnections von 4.2 und 2.3.x? Was ist hier falsch?

AKTUALISIEREN!

Ich habe mit Log.e () getestet, welche Zeile die meiste Zeit benötigt.

///// other staff
////......
                     Log.e("HTTP","3");

                 if (isCancelled())
                        return (null); // don't forget to terminate this method
                 Log.e("HTTP","3");
                 //Output
                    DataOutputStream outputStream = new DataOutputStream( urlConnection.getOutputStream() );
                    //Send Passcode
                    Log.e("HTTP","4");

Zwischen 3 und 4 vergehen 5-6 Sekunden auf der Linie

DataOutputStream outputStream = new DataOutputStream( urlConnection.getOutputStream() );

AKTUALISIEREN!!

Diese Wartezeit (siehe vorheriges Update) hängt mit dem urlConnection.setConnectTimeout (6000) zusammen.

Wenn ich Timeout 1000 mache, antwortet die Verbindung schnell (1 Sekunde auf die Leitung warten)

DataOutputStream outputStream = new DataOutputStream( urlConnection.getOutputStream() );

Keine Ahnung warum das passiert

Antworten auf die Frage(2)

Ihre Antwort auf die Frage