Android 凌空抽射需要太长时间来处理请求

Android 凌空抽射需要太长时间来处理请求,android,Android,我的Android应用程序具有事件创建任务。它以basr64格式编码发送图像,事件名称、事件位置、事件类型、事件开始日期和时间、事件结束日期和时间、事件类别、事件费用、事件描述、事件成本、最大参与者人数作为请求参数。花费的时间太长,几乎超过15秒。客户要求它应在5秒内处理。有人能帮我做到这一点吗?或任何加速截击请求处理的技术。IOS的响应速度比android快 Map<String, String> params = new HashMap<String, String>

我的Android应用程序具有事件创建任务。它以basr64格式编码发送图像,事件名称、事件位置、事件类型、事件开始日期和时间、事件结束日期和时间、事件类别、事件费用、事件描述、事件成本、最大参与者人数作为请求参数。花费的时间太长,几乎超过15秒。客户要求它应在5秒内处理。有人能帮我做到这一点吗?或任何加速截击请求处理的技术。IOS的响应速度比android快

Map<String, String> params = new HashMap<String, String>();
    params.put("eventname", etEventName.getText().toString().trim());
    params.put("userid", uid);
    params.put("lattitude", Double.toString(lat));
    params.put("longitude", Double.toString(longi));
    params.put("description", etEventDescription.getText().toString().trim());
    params.put("address", etEventLocation.getText().toString().trim());
    params.put("city", city);
    params.put("province", pro.trim());
    params.put("catid", caData);
    params.put("attendees", etEventPartcipentNumber.getText().toString().trim());
    params.put("startdate", startDate);
    params.put("starttime", starTime);
    params.put("enddate", endDate);
    params.put("endtime", endTime);
    params.put("eventtype", eventType);
    if (etEventFees.getText().toString().equals("") || etEventFees.getText().toString().equals(Fee)) {
        params.put("eventfee", "");
    } else {
        params.put("eventfee", etEventFees.getText().toString().substring(2).trim());
    }

    params.put("dayofweek", day);
    params.put("isprivate", privacy);
    params.put("profilepic", EventImage);
    params.put("myJid",mJid);
    params.put("openfirePsw",mPass);
    params.put("securityid", "MT0001");
    CustomeRequest create_eventRequest = new CustomeRequest(Request.Method.POST, urlCreateEvent, params, this.createeventSuccessResponseListener(), this.createeventErrorResponseListener());
    create_eventRequest.setRetryPolicy(new DefaultRetryPolicy(20000, 0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    AppController.getInstance().addToRequestQueue(create_eventRequest);




public class CustomeRequest extends Request<JSONObject> {

private Response.Listener<JSONObject> listener;
private Map<String,String> params;

public CustomeRequest(String url,Map<String,String> params,Response.Listener<JSONObject> responseListener, Response.ErrorListener errorListener) {
    super(Method.GET,url, errorListener);
    this.listener=responseListener;
    this.params=params;
}

public CustomeRequest(int method, String url,Map<String, String> params,Response.Listener<JSONObject> responseListener, Response.ErrorListener errorListener) {
    super(method, url, errorListener);
    this.params=params;
    this.listener=responseListener;
}

@Override
public Map<String, String> getParams() {
    return params;
}

@Override
public Map<String, String> getHeaders() throws AuthFailureError {
    Map<String,String> header=new HashMap<>();
    header.put("Content-Type","application/x-www-form-urlencoded");
    return header;
}

@Override
protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {

    try {
        String jsonString=new String(response.data, HttpHeaderParser.parseCharset(response.headers));
        return Response.success(new JSONObject(jsonString),HttpHeaderParser.parseCacheHeaders(response));
    } catch (UnsupportedEncodingException e) {
        return Response.error(new ParseError(e));

    } catch (JSONException je) {
        return Response.error(new ParseError(je));

    }

}

@Override
protected void deliverResponse(JSONObject response) {
    listener.onResponse(response);
}
Map params=newhashmap();
put(“eventname”,etEventName.getText().toString().trim());
参数put(“userid”,uid);
参数put(“latitude”,Double.toString(lat));
参数put(“经度”,双toString(longi));
参数put(“description”,etEventDescription.getText().toString().trim());
参数put(“地址”,etEventLocation.getText().toString().trim());
参数put(“城市”,城市);
参数put(“省”,pro.trim());
参数put(“catid”,地籍);
params.put(“Attendes”,etEventParcTipentNumber.getText().toString().trim());
参数put(“起始日期”,起始日期);
参数put(“starttime”,starTime);
参数put(“结束日期”,结束日期);
参数put(“结束时间”,结束时间);
参数put(“eventtype”,eventtype);
如果(etEventFees.getText().toString().equals(“”| | etEventFees.getText().toString().equals(费用)){
参数put(“事件费”);
}否则{
参数put(“eventfee”,etEventFees.getText().toString().substring(2.trim());
}
参数put(“dayofweek”,day);
参数put(“isprivate”,隐私);
参数put(“profilepic”,EventImage);
参数put(“myJid”,mJid);
参数put(“openfirePsw”,mPass);
参数put(“证券ID”、“MT0001”);
CustomerRequest create_eventRequest=新建CustomerRequest(Request.Method.POST,urlCreateEvent,params,this.createeventSuccessResponseListener(),this.createeventErrorResponseListener());
创建_eventRequest.setRetryPolicy(新的DefaultRetryPolicy(20000,0,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
AppController.getInstance().addToRequestQueue(创建事件请求);
公共类CustomerRequest扩展请求{
私人回应。倾听者;
私有映射参数;
公共CustomerRequest(字符串url、映射参数、Response.Listener responseListener、Response.ErrorListener ErrorListener){
super(Method.GET、url、errorListener);
this.listener=responseListener;
this.params=params;
}
公共CustomerRequest(int方法、字符串url、映射参数、Response.Listener responseListener、Response.ErrorListener ErrorListener){
super(方法、url、errorListener);
this.params=params;
this.listener=responseListener;
}
@凌驾
公共映射getParams(){
返回参数;
}
@凌驾
公共映射getHeaders()引发AuthFailureError{
Map header=newhashmap();
header.put(“内容类型”、“应用程序/x-www-form-urlencoded”);
返回头;
}
@凌驾
受保护的响应parseNetworkResponse(NetworkResponse响应){
试一试{
String jsonString=新字符串(response.data,HttpHeaderParser.parseCharset(response.headers));
返回Response.success(新的JSONObject(jsonString),HttpHeaderParser.parseCacheHeaders(Response));
}捕获(不支持的编码异常e){
返回Response.error(新的ParseError(e));
}捕获(JSONException je){
返回Response.error(newparseerror(je));
}
}
@凌驾
受保护的void deliverResponse(JSONObject响应){
onResponse(response);
}

}

上传300MB图像base64编码确实有价格。发布您迄今为止的尝试上传300MB图像base64编码确实有价格。发布您迄今为止的尝试