预加载图像 android

Preload images android

我有以下代码:

@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 只是为了显示它?

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

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

启动活动:

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

目标活动:

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

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