Java Android文档选择器引发TransactionTooLargeException

Java Android文档选择器引发TransactionTooLargeException,java,android,kotlin,Java,Android,Kotlin,我今天在ownCloud应用程序中发现了一个bug,并在他们的应用程序中报告了它,现在我自己正在进一步调查这个问题。似乎所有使用Android文档选择器的应用程序都会受到影响(你可以在Google Drive中测试它——它不会崩溃,但不会开始上传所选文件) 简而言之:如果用户选择的文件太多(我正在做2700+),系统将抛出: 12-19 17:28:06.190 1645 10202 E ActivityTaskManager: android.os.TransactionTooLargeExc

我今天在ownCloud应用程序中发现了一个bug,并在他们的应用程序中报告了它,现在我自己正在进一步调查这个问题。似乎所有使用Android文档选择器的应用程序都会受到影响(你可以在Google Drive中测试它——它不会崩溃,但不会开始上传所选文件)

简而言之:如果用户选择的文件太多(我正在做2700+),系统将抛出:

12-19 17:28:06.190 1645 10202 E ActivityTaskManager: android.os.TransactionTooLargeException: data parcel size 987616 bytes

这可能是由于安卓对意图大小的限制,其大小似乎在1KB左右(所讨论的意图几乎是1MB)

编辑:作为Commonware注释中的指针,最大大小各不相同,在这个场景中似乎大约为200KB。这一情况已经报告

问题是:你曾经遇到过这个问题吗?除了构建一个自定义的文件选择器(比如一个外部包)之外,还有其他解决方法吗


修复似乎很容易——只需传递一个指针,而不是一组文件,但我不仅仅是一个自学成才、经验不足的应用程序开发人员,所以我无法真正独立完成。是不是我应该向Android团队报告一个bug?

你认为Android文档选择器是什么?“这可能是因为Android对意图大小的限制似乎在1KB左右”-<代码>意图>代码>大小限制接近1MB。确切的值有些不确定,因为它取决于当时正在进行的IPC事务。这已经被列为一个问题:“只需传递一个指针”——很抱歉,这不可能跨进程实现。@Commonware感谢您的回答。我不是很有经验,所以你指出我的错误是件好事。如果它已经被报告了,那么我现在就没有任何事情可做了。你认为Android文档选择器是什么?“这可能是因为Android对意图大小的限制似乎在1KB左右”——<代码>意图< /代码>大小限制接近1MB。确切的值有些不确定,因为它取决于当时正在进行的IPC事务。这已经被列为一个问题:“只需传递一个指针”——很抱歉,这不可能跨进程实现。@Commonware感谢您的回答。我不是很有经验,所以你指出我的错误是件好事。如果已经有报道了,我想我暂时没有什么事可做。