2013-05-08 108 views
0

很抱歉,如果此声音福利局但.. = [加载图像到的TextView当

林与需要大量的图像加载到一个TextView的应用程序的工作,我没有使用网页视图克服了存储器错误的becuz有时它不会导致移动视图,所以我决定解析内容并使用html.fromHtml将其显示到Textview。

问题是: 如果我加载页面幸运地没有太多的图像,它运行相当顺利。 否则它会得到如下所示的错误...

任何人都知道如果我可以在读完图像后从系统内存中释放源代码的方式?......或者任何其他方式将修复我的问题?

我使用的源从这里Android ImageGetter images overlapping text

05-08 21:30:31.404: ERROR/dalvikvm-heap(25083): Out of memory on a 1920016-byte allocation. 
    05-08 21:30:31.404: ERROR/AndroidRuntime(25083): FATAL EXCEPTION: AsyncTask #10 
    java.lang.RuntimeException: An error occured while executing doInBackground() 
    at android.os.AsyncTask$3.done(AsyncTask.java:299) 
    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 
    at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
    at java.lang.Thread.run(Thread.java:856) 
    Caused by: java.lang.OutOfMemoryError 
    at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) 
    at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:527) 
    at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:353) 
    at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:781) 
    at android.graphics.drawable.Drawable.createFromStream(Drawable.java:741) 
    at com.vilalab.five.model.URLImageParser$ImageGetterAsyncTask.fetchDrawable(URLImageParser.java:90) 
    at com.vilalab.five.model.URLImageParser$ImageGetterAsyncTask.doInBackground(URLImageParser.java:58) 
    at com.vilalab.five.model.URLImageParser$ImageGetterAsyncTask.doInBackground(URLImageParser.java:48) 
    at android.os.AsyncTask$2.call(AsyncTask.java:287) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
    ... 4 more 
    05-08 21:30:31.504: ERROR/dalvikvm-heap(25083): Out of memory on a 1920016-byte allocation. 
+0

内存不足会发生,因为您超出了为应用程序分配的内存大小。缩小图像http://developer.android.com/training/displaying-bitmaps/load-bitmap.html – Raghunandan 2013-05-08 14:50:53

+0

如果你有一个图片网址(网址),你可以使用缓存技术。 – Kanth 2013-05-08 15:50:47

+0

我使用此代码来显示我的文本视图中的图像 http://stackoverflow.com/questions/7870312/android-imagegetter-images-overlapping-text/10208504#10208504 – zBaoAnhLe 2013-05-08 15:58:24

回答

0

退房this post,它使用从SD卡/画廊,了解如何让你避免这个问题下采样图像获取picutres的例子。它是一个相当简单的修复。

+0

是不是这只有在图像已经在你的工作sd card tho?... =( 我的应用程序,我得到的图像的网址,并使用绘制绘制它..我没有看到很多脂肪酶给这个具体的解决方案:(。 – zBaoAnhLe 2013-05-08 15:09:03

+0

那么这个例子是在上下文但是根据你使用BitmapFactory的日志来解码输入流,在你处理图像流的过程中,很容易暗示该文章中的建议代码。 – Rarw 2013-05-08 16:26:35