Android 使用毕加索图书馆时,5898256字节分配内存不足

Android 使用毕加索图书馆时,5898256字节分配内存不足,android,out-of-memory,picasso,Android,Out Of Memory,Picasso,如果看不到确切的代码,就无法说出问题所在,但是在将毕加索的图像加载到ImageView中时,您是否尝试过.fit()或调整大小?在一个RecyclerView中加载许多(大型)图像时,我遇到了类似的内存不足问题,这个问题得到了解决 例如: 03-11 10:19:12.894 1904-2250/com.baiaphoto.android E/dalvikvm-heap: Out of memory on a 5898256-byte allocation. 03-11 10:19:12.894

如果看不到确切的代码,就无法说出问题所在,但是在将毕加索的图像加载到ImageView中时,您是否尝试过.fit()或调整大小?在一个RecyclerView中加载许多(大型)图像时,我遇到了类似的内存不足问题,这个问题得到了解决

例如:

03-11 10:19:12.894 1904-2250/com.baiaphoto.android E/dalvikvm-heap: Out of memory on a 5898256-byte allocation.
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm: "Picasso-/storage/emulated/0/baiaphotos/image-default.png" prio=5 tid=21 RUNNABLE
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:   | group="main" sCount=0 dsCount=0 obj=0x4392a8d0 self=0x68b9a888
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:   | sysTid=2250 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1755348024
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:   | state=R schedstat=( 1923135000 790241000 935 ) utm=187 stm=5 core=0
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at android.graphics.BitmapFactory.decodeStreamInternal(BitmapFactory.java:620)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at com.squareup.picasso.BitmapHunter.decodeStream(BitmapHunter.java:142)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:217)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at com.squareup.picasso.BitmapHunter.run(BitmapHunter.java:159)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at java.lang.Thread.run(Thread.java:841)
03-11 10:19:12.894 1904-2250/com.baiaphoto.android I/dalvikvm:     at com.squareup.picasso.Utils$PicassoThread.run(Utils.java:411)

内存不足。通过hprofs查看是什么在使用您的内存,并找出是否存在泄漏。如果是这样,请修复它。如果没有,请减少应用程序的总内存使用量。如果你正在使用大量位图,请使用缓存,不要将它们全部保存在内存中。默认情况下,毕加索会缓存你下载的图像。您可以使用编写代码,告诉毕加索不要缓存图像/数据。当可用内存变小时,会出现此错误。
Picasso.with(context).load(imageURL).fit().into(exampleImageView);