我有一个应用程序,我从网址中获取诗人的图像,并在包含imageview的gridview中显示。当用户点击诗人照片时,相同的图像应传递给其他活动。现在发生了什么,具有1GB RAM的设备可以轻松处理此功能(我的意思是通过putExtra方法将位图照片传递给一个活动到第二个活动)。但是当我在512MB RAM中加载相同的应用程序时,点击诗人照片后它不会打开第二个活动。我该怎么办?我应该如何摆脱这个问题呢?
Intent i=new Intent(getActivity(),PoemList.class);
ImageView iv=(ImageView) view.findViewById(R.id.poetImage);
iv.buildDrawingCache();
Bitmap bmp=iv.getDrawingCache();
i.putExtra("Bitmap", bmp);
i.putExtra("poetname", pgl.poet_regional_name);
i.putExtra("Poet_Id", pgl.poet_id);
i.putExtra("poetnameenglish", pgl.poet_name);
startActivity(i);
答案 0 :(得分:0)
在您的通话活动中......
Intent i = new Intent(this, NextActivity.class);
Bitmap b; // your bitmap
ByteArrayOutputStream bs = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.PNG, 50, bs);
i.putExtra("byteArray", bs.toByteArray());
startActivity(i);
...并在您的接收活动中
if(getIntent().hasExtra("byteArray")) {
ImageView previewThumbnail = new ImageView(this);
Bitmap b = BitmapFactory.decodeByteArray(
getIntent().getByteArrayExtra("byteArray"),0,getIntent().getByteArrayExtra("byteArray").length);
previewThumbnail.setImageBitmap(b);
}