我正在开发一个简单的Android应用程序,它通过从服务器获取其详细信息以及个人资料图片来显示用户列表。该应用程序消耗大量的RAM(约180MB)。当我分析内存消耗时,消耗大部分内存来使用Picasso显示位图。我使用回收站视图来显示用户列表。下面是我用来设置配置文件图像的代码片段。
public static void setImageURL(Context ctx, String url, ImageView imageView) {
Picasso.with(ctx).invalidate(url);
Picasso.with(ctx).load(url).networkPolicy(NetworkPolicy.NO_CACHE).memoryPolicy(MemoryPolicy.NO_CACHE).into(imageView);
}
请给我一些建议,以尽量减少内存消耗。提前谢谢。
答案 0 :(得分:0)
问题在于使用Picasso加载图像而不装配它们。只需在load()之后添加fit()即可解决问题。
Picasso.with(ctx).load(url).fit().networkPolicy(NetworkPolicy.NO_CACHE).memoryPolicy(MemoryPolicy.NO_CACHE).into(imageView);