当尝试获取安装的应用程序列表时,android – TransactionTooLargeEception

前端之家收集整理的这篇文章主要介绍了当尝试获取安装的应用程序列表时,android – TransactionTooLargeEception前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
作为我的应用程序的一部分,我通过使用ApplicationPackageManager.getInstalledApplications获取设备上安装的应用程序的列表,但对于一些用户,我收到崩溃报告说

android.osBinderProxy.tranasact(Native Method)中的TransactionTooLargeException

有人会想到为什么会这样吗?

解决方法

这种异常在正常情况下难以繁殖.当传输数据时IPC内存耗尽时,您将收到此异常.这可能发生在这两种情况下,服务正在尝试将数据发送到客户端或客户端正在将数据发送到服务.很可能您的一些用户可能安装了大量的应用程序,这导致数据大小大于1MB(这是IPC缓冲区的大小).

我恐怕在这种情况下,你不会做任何更好的事情.但是,如果您正在执行类似于ApplyBatch的操作,则可以将一个大事务分隔成多个较小的事务.

还有看看这个线程What to do on TransactionTooLargeException

猜你在找的Android相关文章