关于错误android.os.TransactionTooLargeException导致的崩溃
2018-01-23 17:02
746 查看
关于错误android.os.TransactionTooLargeException导致的原因
在Android中,进程间通信通过binder实现,bind是通信的数据载体,当序列化后的数据单元过大时,就会出问题,报出android.os.TransactionTooLargeException。当利用Intent向Activity传递数据的时候,传递数据时有一个缓冲区,而这个缓冲区最大只有1MB,所以当数据量大时会出现如上错误。
getIntent().getSerializableExtra()等方法携带的数据不宜过大,否则容易导致崩溃。
android.os.TransactionTooLargeException
[2018/1/22 20:23:04] W/ActivityManager( 1949): android.os.TransactionTooLargeException [2018/1/22 20:23:04] W/ActivityManager( 1949): at android.os.BinderProxy.transact(Native Method) [2018/1/22 20:23:04] W/ActivityManager( 1949): at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:660) [2018/1/22 20:23:04] W/ActivityManager( 1949): at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:773) [2018/1/22 20:23:04] W/ActivityManager( 1949): at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2473) [2018/1/22 20:23:04] W/ActivityManager( 1949): at com.android.server.am.ActivityStack.finishTopRunningActivityLocked(ActivityStack.java:2341) [2018/1/22 20:23:04] W/ActivityManager( 1949): at com.android.server.am.ActivityStackSupervisor.finishTopRunningActivityLocked(ActivityStackSupervisor.java:2080) [2018/1/22 20:23:04] W/ActivityManager( 1949): at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:9843) [2018/1/22 20:23:04] W/ActivityManager( 1949): at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:9736) [2018/1/22 20:23:04] W/ActivityManager( 1949): at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:10395) [2018/1/22 20:23:04] W/ActivityManager( 1949): at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:9946) [2018/1/22 20:23:04] W/ActivityManager( 1949): at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
在Android中,进程间通信通过binder实现,bind是通信的数据载体,当序列化后的数据单元过大时,就会出问题,报出android.os.TransactionTooLargeException。当利用Intent向Activity传递数据的时候,传递数据时有一个缓冲区,而这个缓冲区最大只有1MB,所以当数据量大时会出现如上错误。
getIntent().getSerializableExtra()等方法携带的数据不宜过大,否则容易导致崩溃。
相关文章推荐
- android.os.TransactionTooLargeException异常
- android.os.TransactionTooLargeException异常
- android.os.TransactionTooLargeException异常
- android.os.TransactionTooLargeException: data parcel size xxxx bytes
- 蓝牙压力测试报抛android.os.TransactionTooLargeException异常分析总结
- 【Android】Intent传递数据量过大的问题android.os.TransactionTooLargeException
- android.os.TransactionTooLargeException
- 蓝牙压力測试报抛android.os.TransactionTooLargeException异常分析总结
- Android 数据传递出现的android.os.TransactionTooLargeException问题
- java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 520536 bytes
- android.os.TransactionTooLargeException
- android.os.TransactionTooLargeException: data parcel size 962920 bytes
- android.os.TransactionTooLargeException
- Android异常:android.os.TransactionTooLargeException
- android.os.TransactionTooLargeException
- ViewPager+Fragment出现android.os.TransactionTooLargeException的坑!!!
- android aidl 进程间通信需要注意msg的大小(android.os.TransactionTooLargeException)
- Caused by: android.os.TransactionTooLargeException
- Android调用系统裁减图片,出现android.os.TransactionTooLargeException: data parcel size 642356 bytes
- Android TransactionTooLargeException 解析,思考与监控方案