Android 截击库内存不足
您好,我正在使用Volley get()方法集成web服务,但是当我运行代码时,我得到了java.lang.OutOfMemoryError,并且我在过去3天中尽了最大努力解决了这个问题,但我没有得到结果。有人能帮我吗 错误:- 代码:Android 截击库内存不足,android,out-of-memory,android-volley,Android,Out Of Memory,Android Volley,您好,我正在使用Volley get()方法集成web服务,但是当我运行代码时,我得到了java.lang.OutOfMemoryError,并且我在过去3天中尽了最大努力解决了这个问题,但我没有得到结果。有人能帮我吗 错误:- 代码: RequestQueue queue=Volley.newRequestQueue(context.getApplicationContext()); //字符串url=serverURL.BASE\u url+requestUrl; Log.i(“URL:,”
RequestQueue queue=Volley.newRequestQueue(context.getApplicationContext());
//字符串url=serverURL.BASE\u url+requestUrl;
Log.i(“URL:,”URL:-->“+requestUrl);
StringRequest=newStringRequest(request.Method.GET、requestUrl、new Response.Listener()){
@凌驾
公共void onResponse(字符串响应){
UserNotification.notify(请求类型、响应);
}
},new Response.ErrorListener(){
@凌驾
公共错误响应(截击错误截击错误){
NetworkResponse=截击错误。NetworkResponse;
如果(响应==null){
if(reqType==常量。通知\u获取\u商户\u列表\u请求){
用户通知。
notifyFragment(常量。通知\句柄\添加\按钮\商户\列表“”);
}否则{
实用程序.showAlertMessage(AppController.getContext().getResources())
.getString(R.string.network\u connection\u error),上下文);
}
}
否则{
如果(response.statusCode==401){
showSessionExpiredDialog(上下文);
}否则{
showAlertMessage(Constants.VOLLEY\u ERROR\u服务器,上下文);
}
}
}
}) {
@凌驾
公共映射getHeaders()引发AuthFailureError{
试一试{
Map hashMap=新hashMap();
put(“授权”、“承载者”+UserPreferences.getPreferenceString(Constants.ATHERIZATION_TOKEN,null));
返回hashMap;
}捕捉(可抛可抛){
printStackTrace();
}
返回null;
}
@凌驾
公共字符串getBodyContentType(){
返回常量.CONTENT\u类型;
}
};
setRetryPolicy(新的DefaultRetryPolicy(120000,0,1.5f));
添加(请求);
}
}
从@User 007检查此问题,我不知道修复程序在快照中。maven{url'}编译'com.android.volley:volley:1.0.1-SNAPSHOT'的可能重复
FATAL EXCEPTION: Thread-12981
java.lang.OutOfMemoryError
at com.android.volley.toolbox.DiskBasedCache.streamToBytes(DiskBasedCache.java:316)
at com.android.volley.toolbox.DiskBasedCache.readString(DiskBasedCache.java:526)
at com.android.volley.toolbox.DiskBasedCache.readStringStringMap(DiskBasedCache.java:549)
at com.android.volley.toolbox.DiskBasedCache$CacheHeader.readHeader(DiskBasedCache.java:392)
at com.android.volley.toolbox.DiskBasedCache.initialize(DiskBasedCache.java:155)
at com.android.volley.CacheDispatcher.run(CacheDispatcher.java:85)
RequestQueue queue = Volley.newRequestQueue(context.getApplicationContext());
// String url = ServerUrls.BASE_URL + requestUrl;
Log.i("URL:", "URL:--->" + requestUrl);
StringRequest request = new StringRequest(Request.Method.GET, requestUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
UserNotification.notify(reqType, response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
NetworkResponse response = volleyError.networkResponse;
if(response == null) {
if(reqType==Constants.NOTIFICATION_GET_MERCHANTS_LIST_REQUEST) {
UserNotification.
notifyFragment(Constants.NOTIFICATION_HANDLE_ADD_BUTTON_MERCHANTS_LIST,"");
}else{
Utilities.showAlertMessage(AppController.getContext().getResources()
.getString(R.string.network_connection_error), context);
}
}
else {
if (response.statusCode == 401) {
Utilities.showSessionExpiredDialog(context);
} else {
Utilities.showAlertMessage(Constants.VOLLEY_ERROR_SERVER, context);
}
}
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
try{
Map<String, String> hashMap = new HashMap<>();
hashMap.put("Authorization", "Bearer " + UserPreferences.getPreferenceString(Constants.ATHERIZATION_TOKEN,null));
return hashMap;
}catch (Throwable throwable){
throwable.printStackTrace();
}
return null;
}
@Override
public String getBodyContentType() {
return Constants.CONTENT_TYPE;
}
};
request.setRetryPolicy(new DefaultRetryPolicy(120000, 0, 1.5f));
queue.add(request);
}
}