SharedPreference或Map <string,softreference <bitmap =“”>&gt; </string,>

时间:2014-02-24 10:20:36

标签: android

当我的应用程序启动时,我有超过10张图像可以从服务器动态获取(大多数是应用程序第一次启动时)。

这样做的最佳做法是什么?为什么?

  1. 维护一个Map<String, SoftReference<Bitmap>>,我将在其中有一个散列图,其中的元素是SoftReference。

  2. 使用

  3. 保存byte[]

    String encodedImage = Base64.encodeToString(imgData, Base64.DEFAULT);
    SharedPreferences shre = PreferenceManager.getDefaultSharedPreferences(this);
    Editor edit=shre.edit();
    edit.putString("image_data",encodedImage);
    edit.commit();
    

    有人可以说明每个人的优势吗?

1 个答案:

答案 0 :(得分:1)

实际上你应该使用类似图像缓存的东西。例如,您可以使用UniversalImageLoader库。它将帮助您优化应用程序的内存使用情况。

网络上有很多问题,但基本上一切都归结为一行代码:

imageLoader.displayImage(imageUri, imageView);

另请查看以下链接:

  1. Displaying Bitmaps Efficiently - 来自Android开发者网站
  2. Picaso Library - 来自Square,这就是杰克沃顿工作的地方。