我试图检索我的Android应用程序中存储在数据库中的表单数据列表。数据库的每一行都包含一些字符串格式的个人信息以及该人员的图像。我已将图像以MEDIUMBLOB格式存储在数据库中。使用Android Volley库从MySQL数据库中检索数据太慢
每当我尝试在我的Android应用中使用Volley Library的JSONObjectrequest从我的服务器检索数据时,响应通常非常缓慢。有时,只需要1分钟时间查看从数据库中检索到的10到12行。 这是我的logcat:
D/Volley: [337] BasicNetwork.logSlowRequests: HTTP response for request=<[ ] http://helpclick.ahsanaasim.me/v1/tasksall/johny 0xa3e020c1 NORMAL 1> [lifetime=14740],
我试图寻找一个完美的解决方案,但我无法找到任何令人满意。这是我的Java代码:
mRequestStartTime = System.currentTimeMillis();
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET,
showUrl2, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
long totalRequestTime = System.currentTimeMillis() - mRequestStartTime;
System.out.println(totalRequestTime);
System.out.println(response.toString());
try { c1++;
System.out.println(c1);
JSONArray incidents = response.getJSONArray("incidents");
for (int i = 0; i < incidents.length(); i++) {
e=0;
JSONObject incident = incidents.getJSONObject(i);
c1++;
id= incident.getString("id");
age = incident.getString("age");
gender = incident.getString("gender");
location = incident.getString("location");
//det= incident.getString("det");
String image=new String();
image = incident.getString("bigimage");
if(image.length()!=0) {
myBitmap = ConvertToImage(image);
Bitmap bitmap= Bitmap.createScaledBitmap(myBitmap,500,500,true);
imgs.add(bitmap);
ages.add(age);
genders.add(gender);
locations.add(location);
ids.add(id);
}
}
if(c1>0) {
System.out.println(ages.size());
Intent intent1 = new Intent(search_buttons_page.this, All_Incidents.class);
startActivity(intent1);
}
}
catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.append(error.getMessage());
}
});
jsonObjectRequest.setRetryPolicy(new DefaultRetryPolicy(
20000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(jsonObjectRequest);
这将是非常有益的,如果有人能告诉我这种性能下降的原因,以及如何在我的源代码进行很少的改动来解决这个问题。
数据库中的斑点的范围和平均大小是多少?如果您从笔记本电脑/台式机上抓取它们,抓取端点的速度是否会变慢? – halfer