Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ViewPage中的Fragment 中使用,如果图片过多会出现OOM #34

Closed
stevefat opened this issue Aug 15, 2016 · 3 comments
Closed

ViewPage中的Fragment 中使用,如果图片过多会出现OOM #34

stevefat opened this issue Aug 15, 2016 · 3 comments

Comments

@stevefat
Copy link

stevefat commented Aug 15, 2016

RT,这个确实是会出现,不知道是为啥
PriorityExecutor: Request threw uncaught throwable java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Failed to allocate a 1935192 byte allocation with 1761372 free bytes and 1720KB until OOM at java.util.concurrent.FutureTask.report(FutureTask.java:93) at java.util.concurrent.FutureTask.get(FutureTask.java:163) at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor.afterExecute(FifoPriorityThreadPoolExecutor.java:96) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1120) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(FifoPriorityThreadPoolExecutor.java:118) Caused by: java.lang.OutOfMemoryError: Failed to allocate a 1935192 byte allocation with 1761372 free bytes and 1720KB until OOM at dalvik.system.VMRuntime.newNonMovableArray(Native Method) at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) at android.graphics.BitmapFactory.decodeStreamInternal(BitmapFactory.java:635) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:611) at com.bumptech.glide.load.resource.bitmap.Downsampler.decodeStream(Downsampler.java:329) at com.bumptech.glide.load.resource.bitmap.Downsampler.downsampleWithSize(Downsampler.java:220) at com.bumptech.glide.load.resource.bitmap.Downsampler.decode(Downsampler.java:153) at com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder.decode(StreamBitmapDecoder.java:50) at com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder.decode(StreamBitmapDecoder.java:19) at com.bumptech.glide.load.resource.bitmap.ImageVideoBitmapDecoder.decode(ImageVideoBitmapDecoder.java:39) at com.bumptech.glide.load.resource.bitmap.ImageVideoBitmapDecoder.decode(ImageVideoBitmapDecoder.java:20) at com.bumptech.glide.load.engine.DecodeJob.decodeFromSourceData(DecodeJob.java:190) at com.bumptech.glide.load.engine.DecodeJob.decodeSource(DecodeJob.java:177) at com.bumptech.glide.load.engine.DecodeJob.decodeFromSource(DecodeJob.java:128) at com.bumptech.glide.load.engine.EngineRunnable.decodeFromSource(EngineRunnable.java:122) at com.bumptech.glide.load.engine.EngineRunnable.decode(EngineRunnable.java:101) at com.bumptech.glide.load.engine.EngineRunnable.run(EngineRunnable.java:58) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)  at java.lang.Thread.run(Thread.java:818)  at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(FifoPriorityThreadPoolExecutor.java:118) 

@zzhoujay
Copy link
Owner

我把持有target的容器换成了软引用,现在我这边测试大量图片没有出现OOM,你试试2.0.9版本有没有解决问题

@yaochangliang159
Copy link

我也遇到了这个问题,viewpager里面30多个fragment,每个fragment都有富文本
java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java) at java.util.concurrent.FutureTask.setException(FutureTask.java) at java.util.concurrent.FutureTask.run(FutureTask.java) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java) at java.lang.Thread.run(Thread.java) Caused by: java.lang.OutOfMemoryError at org.ccil.cowan.tagsoup.HTMLScanner.save(HTMLScanner.java) at org.ccil.cowan.tagsoup.HTMLScanner.scan(HTMLScanner.java) at org.ccil.cowan.tagsoup.Parser.parse(Parser.java) at android.text.HtmlToSpannedConverter.convert(Html.java) at android.text.Html.fromHtml(Html.java) at com.zzhoujay.richtext.parser.Html2SpannedParser.parse(Html2SpannedParser.java:20) at com.zzhoujay.richtext.RichText.parseRichText(RichText.java:232) at com.zzhoujay.richtext.RichText.generateRichText(RichText.java:218) at com.zzhoujay.richtext.RichText.access$100(RichText.java:39) at com.zzhoujay.richtext.RichText$2.doInBackground(RichText.java:168) at com.zzhoujay.richtext.RichText$2.doInBackground(RichText.java:156) at android.os.AsyncTask$2.call(AsyncTask.java) at java.util.concurrent.FutureTask.run(FutureTask.java)  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java)  at java.lang.Thread.run(Thread.java) 

@zzhoujay
Copy link
Owner

@yaochangliang159 Fragment是全部都“活着”?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants