如何在Android App中存储用于多个活动的位图

时间:2014-08-21 13:25:47

标签: java android bitmap

我让我的应用用户登录他们的Google+帐户。当他们这样做时,我想在每个活动的角落显示他们的个人资料图片,以显示他们已登录。有什么好的(而不是那么好)的方法呢?我想过将位图转换为base62并存储为字符串,但我看到有人说不推荐这种方法。有任何想法吗?谢谢!

3 个答案:

答案 0 :(得分:3)

这很简单,你可以将位图转换为base 64键,并在每个活动中使用它 要么 您可以使用与所有活动类似的操作栏

答案 1 :(得分:1)

我会将文件存储在内部存储中,并根据需要随时使用它:

Bitmap bmp = ...; // get your bitmap from Google

String filename = "image.png"
FileOutputStream outputStream;

outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
bmp.compress(CompressFormat.PNG, 75, outputStream);
outputStream.close();

之后您可以从文件中加载位图:

InputStream is = activity.openFileInput("image.png");
Bitmap b = BitmapFactory.decodeStream(is);

这样,甚至可以在应用程序的调用之间保存位图。

答案 2 :(得分:0)

我强烈建议使用LruCache,它通过在设备的ram上分配指定数量的内存来工作,并删除旧图像以保留空间,或者在设备需要更多内存空间时将其清除。