6

Bất kỳ ai biết tại sao mã bên dưới chạy chậm hơn khoảng 4 lần trên Android 3.2 (Samsung Galaxy 10.1 "Tab) so với phiên bản 2.3.3 (Motorola Droid X) ?HttpClient thực thi HttpPost chậm hơn đáng kể trên Android 3.2 so với 2.3.3

trên Android 2.3.3, các client.execute() gọi mất trung bình 350ms. Dưới 3.2 phải mất trung bình 1400ms.

Ngoài ra, các kết quả đều giống nhau bất kể cho dù nó được chạy trong chuỗi giao diện người dùng hoặc chuỗi nền.

Đây có phải là lỗi hệ điều hành hoặc sự cố phần cứng không? Hay tôi không làm điều gì đó đúng trong mã của tôi? Thật không may, tôi không thể đưa ADB đính kèm vào thiết bị ảo 3.2 của tôi, vì vậy tôi không thể loại trừ các vấn đề phần cứng, nhưng cảm giác ruột của tôi cho tôi biết đây là một vấn đề về Honeycomb.

HttpResponse resp = null; 
HttpParams params = new BasicHttpParams(); 
params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1); 
HttpClient client = new DefaultHttpClient(params); 
ArrayList<BasicNameValuePair> postParms = new ArrayList<BasicNameValuePair>(); 
postParms.add(new BasicNameValuePair("name", "test")) 

try 
{ 
    HttpPost hp = new HttpPost("http://myserver/path/method"); 
    UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParms); 
    hp.setEntity(formEntity); 

    Long start = SystemClock.elapsedRealtime(); 
    resp = client.execute(hp); 
    Long stop = SystemClock.elapsedRealtime(); 
    Log.i("Time = " + (stop-start) + "ms"); 
} 
... 
+0

Cả hai yêu cầu được thực hiện qua WiFi phải không? –

+0

Có, cả hai đều qua WiFi. – d60402

Trả lời

0

Nếu bạn không thời gian bất cứ điều gì khác, hãy lắp một thiết bị đầu cuối và nhìn vào top trên Galaxy Tab, phải chắc chắn rằng CPU không được tiêu thụ bởi ví dụ android.process.media.

+0

Tổng mức đỉnh CPU chỉ đạt 16%. Và android.process.media thậm chí không nằm trong top 20. – d60402

Các vấn đề liên quan