减少Android应用程序的内存使用量

时间:2017-09-25 08:17:32

标签: android performance memory-management bitmap picasso

我正在开发一个简单的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);
}

请给我一些建议,以尽量减少内存消耗。提前谢谢。

1 个答案:

答案 0 :(得分:0)

问题在于使用Picasso加载图像而不装配它们。只需在load()之后添加fit()即可解决问题。

   Picasso.with(ctx).load(url).fit().networkPolicy(NetworkPolicy.NO_CACHE).memoryPolicy(MemoryPolicy.NO_CACHE).into(imageView);