httpurlconnection es muy lento en Android 4.2

Puedo conectar, enviar y recibir datos con éxito usando httpurlconnection. Pero lleva mucho tiempo cargar todos los datos en mi teléfono (Samsung s4, 4.2) y en el emulador de Android 4.2. Pero se tarda casi 1-2 segundos (que es muy rápido) para cargar fotos en el emulador de Android 2.3.x. Más rápido que mi galaxy s4 en la conexión http.

Estoy usando AsyncTask y mi código funciona bien en ambos. Es solo lento en Android 4.2s. Intenté eliminar ChunkedStreaming, mantenerme vivo, cambiar los valores de tiempo de espera, etc. pero todavía no he tenido éxito.

Aqui esta mi codigo

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();

¿Hay alguna diferencia entre las conexiones http de 4.2 y 2.3.x? Que esta mal aqui

¡ACTUALIZAR!

Probé usando Log.e () para ver qué línea lleva más tiempo.

///// 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");

Entre 3 y 4, 5-6 segundos pasan en la línea.

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

¡¡ACTUALIZAR!!

Ese tiempo de espera (ver actualización anterior) está relacionado con urlConnection.setConnectTimeout (6000);

Cuando hago Timeout 1000, las respuestas de conexión rápidamente (esperando 1 segundo para la línea)

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

No tengo idea de por qué esto está sucediendo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta