在活动之间传递已解码/缩放的位图

时间:2018-10-02 15:20:48

标签: android android-intent android-activity

我今天搜索了此问题,但找不到任何答案-有关将已解码的位图发送到另一个活动的信息。

原因:

好吧,在基于OpenGL ES的游戏中,我有一个开始屏幕,用户可以在其中输入设置/信息,也可以只启动游戏。我想在此处预加载沉重的图像资源,例如背景和纹理图集,以便在用户按下开始按钮时完成所有操作。

“活动”的架构是

StartGameActivity(用户可以在此处启动游戏)

通过意图调用

GameActivity

GameActivity实例化OpenGLview

代码:

public class StartMenuActivity extends AppCompatActivity {

private Intent startGameActivityIntent;
private Bitmap[] bitmaps;
private byte[] byteArray;
private ResourceLoader resourceLoader;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_start_menu);

    resourceLoader = new ResourceLoader(this);
    preLoadResources();
}

public void onClickStartGame(View view) {


    startGameActivityIntent = new Intent(this, GameActivity.class);

    startActivity(startGameActivityIntent);

}

private void preLoadResources() {

    float width = getResources().getDisplayMetrics().widthPixels;
    float height = getResources().getDisplayMetrics().heightPixels;
    float[][] bitmapDimens = { {width, height} };
    String[] bitmapNames = {"level_map"};
    bitmaps = resourceLoader.createBitmaps(bitmapDimens, bitmapNames, "drawable");

}

}

所以我在这里预加载了图像,但无法将其进一步传递给GameActivity。由于GLView位于GameActivy中的布局xml文件中,因此它将自动实例化。

0 个答案:

没有答案