作为我的应用程序的一部分,我通过使用ApplicationPackageManager.getInstalledApplications获取设备上安装的应用程序的列表,但对于一些用户,我收到崩溃报告说
android.osBinderProxy.tranasact(Native Method)中的TransactionTooLargeException
有人会想到为什么会这样吗?
解决方法
这种异常在正常情况下难以繁殖.当传输数据时IPC内存耗尽时,您将收到此异常.这可能发生在这两种情况下,服务正在尝试将数据发送到客户端或客户端正在将数据发送到服务.很可能您的一些用户可能安装了大量的应用程序,这导致数据大小大于1MB(这是IPC缓冲区的大小).
我恐怕在这种情况下,你不会做任何更好的事情.但是,如果您正在执行类似于ApplyBatch的操作,则可以将一个大事务分隔成多个较小的事务.