预加载图像 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 库来处理您需要的有关缓存和获取图像的所有内容。
我有以下代码:
@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 库来处理您需要的有关缓存和获取图像的所有内容。