您的位置:首页 > 其它

activity之间传递bitmap大小超过40M的解决办法

2017-07-19 19:00 204 查看
上一篇文章已经介绍了activity之间传递参数的办法,但是出现的问题是,如果bitmap的大小超过40M,就会出现错误信息,导致传输失败:

1、新建一个类,把数据变为全局变量:

public class img {
private static String imgDatils;

public static String getImgDatils() {
return imgDatils;
}

public static void setImgDatils(String imgDatils) {
img.imgDatils = imgDatils;
}

}

2、信息传输:

public void showImages(String data) {  
data = data.split(",")[1];

            PiccActivity.this.imgData = data; 

            img.setImgDatils(imgData);

            //Log.i(data, data);

            Intent intent =new Intent(PiccActivity.this,PrinterMainActivity.class);

          //用Bundle携带数据

            Bundle bundle=new Bundle();

            //传递name参数为tinyphp

          //给intent添加额外数据,key为“前面”,key值为"后面"  

            bundle.putString("imgData", "");

            intent.putExtras(bundle); 

            startActivity(intent); 

3、信息接收:

Intent intent=getIntent();//getIntent将该项目中包含的原始intent检索出来,将检索出来的intent赋值给一个Intent类型的变量intent
//获取传来的参数
//新页面接收数据

        Bundle bundle = this.getIntent().getExtras();

        //接收name值

        String imgData = bundle.getString("imgData");

        imgData = img.getImgDatils();

       Log.i("获取到的imgData值为",imgData);    

      secondTxt = (TextView)findViewById(R.id.textid);

       secondTxt.setText(imgData);

这个存在一个问题,是全局变量设计权限问题,可能同时传输数据进行操作的时候,会出现并发问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: