预加载图片android

时间:2016-07-29 12:13:12

标签: android android-layout bitmap imageview preload

我有以下代码:

@Override
public void surfaceCreated(SurfaceHolder holder) {
    Log.v(StartupActivity.TAG, "SURFACE CREATED");
    bitmaps = new HashMap<>();
    bitmaps.put("logo", BitmapFactory.decodeResource(getContext().getResources(), R.drawable.logo));
    displayLoadingBitmap();
    bitmaps.remove("logo");
    System.gc();
    ....
}

表面立即创建,但我的位图显得有些晚了。有没有办法在例如StartupActivity中预加载位图并将其发送到当前的Activity以显示它?

1 个答案:

答案 0 :(得分:2)

是的,您可以在开始活动中预加载该位图并将其传递给目标活动。

为了发送该位图,由于位图实现Parceable,它们可以被序列化并传递给另一个活动。

<强> StartUpActivity:

Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("image", bitmap);

<强> TargetActivity:

Intent intent = getIntent();
Bitmap bitmap = (Bitmap) intent.getParcelableExtra("image");

或者,建议您使用Picasso库来处理缓存和获取图像所需的所有内容。