首页
学习
活动
专区
圈层
工具
发布

Android Intent 传递数据大小限制

在sendBroadcast,startActivity时,我们会用到Intent。...Intent传递数据时,如果数据太大,可能会出现异常。比如App闪退,或是Intent发送不成功,logcat报错等等。 这就牵涉到一个问题:Intent 传递数据大小限制。...Intent到底能够携带多少数据呢? 使用Intent传送数据时,可能会出现异常 在Intent中传入一个Parcelable对象;例如传入一个bitmap对象。...intent = new Intent(MSG_INTENT); intent.putExtra(K_PIC, b1); 选择bitmap的原因是,Bitmap实现了Parcelable接口,并且可以通过...多个地方在进行传输时,即时它们各自传输的数据不超出大小限制,TransactionTooLargeException异常也可能会被抛出。 在使用Intent传递数据时,1Mb并不是安全上限。

2.3K30

android 如何获取手机的图片、视频、音乐

下没效,就用ACTION_GET_CONTENT,这个会提示你用那个软件打开 9 //intent.setType(“audio/*”); //选择音频 10 11...//intent.setType(“video/*”); //选择视频 (mp4 3gp 是android支持的视频格式) 12 13...(photoPickerIntent, "Select"),1);使用 createChooser()打开的好处是,程序会自动弹出一个对话框,对话框的名字可以自己设置,我demo 里设置的是 Select...,弹出的这个框,作用是让用户选择,基于本机手机已经安装了的,能够打开当前文件的 应用。...还一种方法是,默认的直接打开: startActivityForResult(photoPickerIntent,1); 这种方法有时候会显示不出来,原因是,程序的运行的时候,检测到本机有多个音乐或者图片的总体类型

2.4K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Intent的七大属性, ComponentName、  Action 、 Category 、 Data  、Type、  Extra  、Flags。

    配置: 通常,Action、Category属性结合使用,定义这两个属性都是在配置文件的intent-filter>节点中。...ACTION_GET_CONTENT: (android.intent.action.GET_CONTENT) 让用户选择数据,并返回所选数据。...Action属性中的ACTION_GET_CONTENT获取返回值: //选择图片 requestCode 返回的标识 Intent intent = new Intent(); intent.setAction...一旦这种模式的Activity实例存在于某个栈中,任何应用再激活这个Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。...此启动模式和我们使用的浏览器工作原理类似,在多个程序中访问浏览器时,如果当前浏览器没有打开,则打开浏览器,否则会在当前打开的浏览器中访问。

    67610

    Android经典面试题之Intent传递数据大小为什么限制是1M?

    在 Android 中,使用 Intent 传递数据时确实存在大小限制,大约是 1MB。这主要是因为 Intent 的设计初衷和 Android 系统架构的限制。以下是详细的原因解释: 1....每次通过 Binder 传输数据时,数据必须被写入这个缓冲区,如果数据量超过缓冲区大小,就会导致 TransactionTooLargeException 异常。...因此,设计上并不是为大数据量传输而优化的。 轻量级传输:Intent 更适合传递小的、结构化的数据,如字符串、数值和小型对象,而不是大量的二进制数据(如图片、大型文件等)。 3....效率问题:传递大数据时,进程需要进行大量的内存拷贝操作,这会导致性能下降。 内存使用:过多的内存使用可能导致应用程序的垃圾回收行为变得频繁,从而影响应用的响应速度。 4....如何应对该限制 如果需要传递大数据,推荐使用其他机制,而不是直接通过 Intent: 文件存储:将数据写入文件,然后通过 Intent 传递文件的 Uri(例如使用 FileProvider)。

    97610

    项目需求讨论 - WebView下拍照及图片选择功能

    ,显示时把地址拼接成可以找到路径的地址放在标签中就可以了。...配合FileReader,FileReader是作为文件API的重要成员用于读取文件。可以参考: h5 实现调用系统拍照或者选择照片并预览 2. Android端: ?...因为我们是查看本地的图片,所以我们要使用 ACTION_GET_CONTENT,同时指定MIME类型是图片类型,如果要进行图片多选,就再指定EXTRA_ALLOW_MULTIPLE为true。 ?...这里我要提一下,我们在设置Intent的Action的时候不只是可以使用ACTION_GET_CONTENT,还可以使用ACTION_PICK。 ?...这里我们讲如果只是给定我们想要启动的多个Intent的选项,让系统帮我们弹出弹框及相关按钮,关键字就是Intent.createChooser方法 ?

    2.6K20

    Android中怎么跨进程传输大图片

    将图片保存在固定的位置,将存储位置信息跨进程发送给其他进程,其他的进程读取图片文件 这样做的缺点,在于进程需要首先写文件,然后再读文件,性能低下; 2....当我们使用Intent跨进程传输数据的时候,数据量要是太大,会抛出TransactionTooLargeException的异常,这个异常表示两个Client的进行交互式,事物占用的内存过大,该异常发生的一些情况和解决方法...上面是通过Intent来跨进程传递一个Bitmap,当mBitmap占用的内存过大的时候,就会抛出TRansactionTooLargeException的异常。...当我们调用putParcelable传递Bitmap(Bitmap是实现了Parcelable接口的,可以进行序列化的)的时候,系统自动将allowFds设为false,禁止使用文件描述符,bitmap...Binder的缓存空间,而当大于16KB的时候,则开辟一个ashmem,映射出一块内存,该数据会保存到ashmem中,在Intent中之写入一个fd的文件描述符,这样即使传输的数据再大,Intent中传输的也只是该资源的文件描述符

    3.3K20

    Exchange 2007迁移2010时的公用文件夹多个公用树错误

    近期在项目中,客户Exchange 从2007迁移到2010,Microsoft Exchange从2007开始就逐渐弱化了公用文件夹,outlook 2007和2010都不需要使用到公用文件夹了。...但客户现状存在90%的outlook 2003客户端,因此需要使用到公用文件夹。在Exchange 2010服务器上建立了公用文件夹数据库,邮箱数据库连接到新的公用文件夹中。...问题状况: 结果造成了outlook 2003的客户端不能打开,提示:“您的系统管理员禁止您正在使用的OUTLOOK版本”,并且只有outlook 2003出现这样的问题。...检查公用文件夹,打开公用文件夹管理器,提示“找到多个 MAPI 公用树。”经查明这是因为公用文件夹公用树配置在ADSI中的容器重复引起的问题。...,看来就是因为这个引起了出现多个MAPI公用树,删除后打开公用文件夹管理器验证,恢复正常。

    1.8K30

    探究intent传递大小限制

    前言 当我们用Intent传输大数据时,有可能会出现错误: val intent = Intent(this@MainActivity, Main2Activity::class.java) val data...= ByteArray(1024 * 1024) intent.putExtra("111", data) startActivity(intent) 如上我们传递了1M大小的数据时,结果程序就一直反复报如下...TransactionTooLargeException错误: ?.../processState.cpp类中,如果传输说句超过这个大小,系统就会报错,因为Binder本身就是为了进程间频繁而灵活的通信所设计的,并不是为了拷贝大数据而使用的: #define BINDER_VM_SIZE...替代方案 一、写入临时文件或者数据库,通过FileProvider将该文件或者数据库通过Uri发送至目标。一般适用于不同进程,比如分离进程的UI和后台服务,或不同的App之间。

    5K20

    git的使用(gitlab、github ssh拉取文件,拉取多个平台多个账号)

    image.png 其中id_rsa表示私钥 ,id_rsa_pub表示公钥 打开gitlab/github 点击你的头像,出现一个选择框,点击setting 界面左侧有一个SSH ,把你的公钥加上去就可以啦...image.png 如何设置多个公钥私钥 其他的操作如上,只需要运行一下命令并创建一个config在.ssh下 ssh-keygen -t rsa -C "1email@company.com” -...image.png 创建一个config文件 ?...HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa # 配置文件参数...# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件 # HostName : 要登录主机的主机名 # User : 登录名 # IdentityFile

    3.1K50

    Android 存储空间的最佳实践

    我们制作了一个简单的图片,列出了每种用例以及其在不同系统版本的实践总结: 展示多个文件夹中的图片和视频文件 使用 query() API 查询媒体集合。...注意:  就算您选择停用分区存储,在使用  MediaStore  API 访问图像并读取未修改的位置信息时,您也需要请求  ACCESS_MEDIA_LOCATION  权限。...将结果显示到您的 UI 上。 使用系统选择器 使用 ACTION_GET_CONTENT intent 来要求用户选择要导入的图片。...使用直接文件路径访问文件。 打开文档文件 使用 ACTION_OPEN_DOCUMENT intent 来要求用户通过系统选择器选择需要打开的文件。...为了测试目标 API 为 Android 9 及更低版本的应用在使用分区存储时的行为,您可以通过设置 requestLegacyExternalStorage 的值设置为 false 来使应用选择启用行为

    2.6K10

    意图Intent

    ACTION_GET_CONTENT与MIME类型vnd.android.cursor.item/phone-显示人的电话号码列表,允许用户浏览他们,并选择一个,并将其返回到父活动。...ACTION_GET_CONTENT与MIME类型/ 和类别CATEGORY_OPENABLE -显示可以打开的数据的所有选择器ContentResolver. openInputStream(),允许用户选择其中的一个...例如,这可以在电子邮件应用程序中使用,以允许用户选择一些数据作为附件。 在Intent类中定义了各种标准的Intent动作和类别常理,但是应用程序也可以定义它们自的。...当使用隐式意图时,给定这样一个任意的意图,我们需要知道如何处理它。...INT FILL_IN_SELECTOR 与使用fillIn(Intent, int),以允许覆盖当前的选择,即使它已经被设置。

    1.8K10

    使用 Python 合并多个格式一致的 Excel 文件

    本文链接:https://blog.csdn.net/solaraceboy/article/details/103429305 使用 Python 合并多个格式一致的 Excel 文件 一 问题描述...开始此步骤之前可能需要先升级pip,具体升级命令系统会提示,复制粘贴即可; 5.3 新建一个名为 input 的文件夹,将需要合并的文件复制到这个文件夹下; 5.4 把以上代码复制以 excels_merge.py...的文件名保存在与 input 文件夹同级别的文件夹中,双击鼠标稍后即可。...生成的 All in one.xlsx 即为合并后的新 Excel 文件。...6.3 此的脚本不对源 Excel 文件进行任何操作,可是放心使用; 6.4 以上脚本就是随手一写,都没有优化,以后如果数据量太大估计会考虑优化,希望大家多提意见或建议; 6.5 源代码可以访问我的同名

    3.5K10
    领券