减少 Android 个应用程序的内存使用
Reduce memory usage of Android applications
我正在开发一个简单的 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);
}
请给我一些建议,以尽量减少这种内存消耗。提前致谢。
问题在于使用 Picasso 加载图像时没有调整它们。只需在 load() 后添加 fit() 即可解决问题。
Picasso.with(ctx).load(url).fit().networkPolicy(NetworkPolicy.NO_CACHE).memoryPolicy(MemoryPolicy.NO_CACHE).into(imageView);
我正在开发一个简单的 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);
}
请给我一些建议,以尽量减少这种内存消耗。提前致谢。
问题在于使用 Picasso 加载图像时没有调整它们。只需在 load() 后添加 fit() 即可解决问题。
Picasso.with(ctx).load(url).fit().networkPolicy(NetworkPolicy.NO_CACHE).memoryPolicy(MemoryPolicy.NO_CACHE).into(imageView);