2016 - 2024

感恩一路有你

intent传输数据的大小限制 Intent传递数据时?

浏览量:1743 时间:2021-03-15 20:44:11 作者:admin

Intent传递数据时?

在Activity或者组件之前传递信息时,一般采用intent绑定bundle的方式传值,但在使用过程中需要注意的是不要用bundle传递大容量数据:

在做项目的过程中,需要将听写界面的听写结果信息传递到听写记录界面供显示用,但是由于传递的数据量过大导致程序ANR,甚至直接报异常(传递的信息里面有bitmap转换成的byte数组、每一个词组的拼音、词语、语音信息),经过分析发现是由于bundle不能传递大容量的数据信息,在stackoverflow里面查阅发现有同行遇到类似的问题:

(1)“ThesizelimitofIntentisstillprettylowinJellyBean,whichissomewhatlowerthan1MB(around90K),soyoushouldalwaysbecautiousaboutyourdatalength,evenifyourapplicationtargetsonlylatestAndroidversions.”

(2)“Aspermyexperience(sometimeago),youareabletoputupto1MBofdatainaBundleencapsulatedinsideIntent.Ithink,thisrestrictionwasvaliduptillFroyoorGingerBread.”

所以在通过bundle传递数据时只能传递较小的数据信息,对于在不同组件之间需要传递大容量数据的情况时,有几种替代方式可以解决不能用bundle传递这些数据的问题:

方法一:将需要传递的数据写在临时文件或者数据库中,再跳转到另外一个组件的时候再去读取这些数据信息,这种处理方式会由于读写文件较为耗时导致程序运行效率较低;

方法二:将需要传递的数据信息封装在一个静态的类中(注意当前组件和要跳转到的组件必须属于同一个进程,因为进程之间才能够共享数据),在当前组件中为类设置内容,然后再跳转到的组件中去取,这种处理方式效率很高,但是会破坏程序的独立性。

具体采用哪种替代方式取决于具体的情况,本人建议采取第二种处理方式,因为这样会大大提高程序的运行效率,至于程序的独立性,看你怎么去封装这个类了。

post方法一次可以传递参数大小限制是多少?

理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制 post方式,传送数据最大理论上没有限制,取决于服务器设置和内存大小 通常是服务器限制和其他语言限制,而不是请求规范中的限制

Intent传递数据时,可以传递哪些类型数据?

1.简单或基本数据类型

2.传递一个Bundle

3.传递Serializable对象

4.Parcelable对象

5.Intent

intent传输数据的大小限制 activity的回调方法 assets目录的作用是什么

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。