【发布时间】:2011-07-25 17:11:04
【问题描述】:
我一直收到这个错误?
07-25 17:04:00.796: ERROR/AndroidRuntime(420): Caused by: java.lang.OutOfMemoryError
07-25 17:04:00.796: ERROR/AndroidRuntime(420): at org.apache.http.impl.io.AbstractSessionInputBuffer.init(AbstractSessionInputBuffer.java:79)
07-25 17:04:00.796: ERROR/AndroidRuntime(420): at org.apache.http.impl.SocketHttpClientConnection.createSessionInputBuffer(SocketHttpClientConnection.java:83)
每次我尝试运行这个方法时:
public void getImages() throws IOException{
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httppost = new HttpGet("https://sites.google.com/site/theitrangers/images/webImages.txt");
HttpResponse response;
response = httpclient.execute(httppost);
HttpEntity ht = response.getEntity();
BufferedHttpEntity buf = new BufferedHttpEntity(ht);
InputStream is = buf.getContent();
BufferedReader r = new BufferedReader(new InputStreamReader(is));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line + "\n");
imageUrl = total.toString();
Log.v("getImage1", "Retreived image");
}
}
此方法所做的只是从网站上托管的文本文件中检索 URL。
编辑:调试指向我的代码行。运行时出现内存不足错误。
public void getImages() throws IOException{
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httppost = new HttpGet("https://sites.google.com/site/theitrangers/images/webImages.txt");
HttpResponse response;
**Specifically here:** response = httpclient.execute(httppost);
【问题讨论】:
-
请搜索类似问题。我相信你会得到很多类似的帖子,人们已经讨论过这个问题。
-
你能发布完整的堆栈跟踪吗?很难确定代码中确切的问题行。不过肯定是内存泄漏。
-
@Sagar Hatekar 发布在编辑中调试指向上方的位置。
-
VM不反对你。您收到 OOM 是因为您的程序一定是内存不足。 :-P
标签: java android out-of-memory