目录
第一章:那个让音视频开发抓狂的 Log —— TransactionTooBigException
第二章:扒开内核看 mmap —— 1MB 到底去了哪?
第四章:老派硬核 —— Socket 与 ContentProvider 的“连击”
第五章:别再像个啰嗦的老太婆 —— Binder 调用频率优化
第六章:你以为的并发,其实只有 16 车道
第七章:像法医一样解剖现场 —— IPCThreadState 与调试神技
第八章:拒绝拥堵 —— 异步与任务队列的救赎
第九章:死锁陷阱 —— 那些年我们踩过的环形调用
第十章:那些年,被 层的 Parcel 吃掉的 CPU
第十一章:降维打击 —— 下沉到 C++ 层 (Native Binder)
第十二章:序列化的终极杀器 —— FlatBuffers
第十三章:一个被遗忘的角落 —— 死亡代理(DeathRecipient)的资源回收战
第一章:那个让音视频开发抓狂的 Log —— TransactionTooBigException
搞音视频开发的兄弟们对这个场景肯定不陌生:
某天,测试提了个Bug,说在某些低端机或者系统负载高的时候,频繁切换播放列表里的视频,App直接闪退。你去抓Log,在一堆杂乱的信息里,那个刺眼的异常赫然在目:android.os.TransactionTooBigException: data parcel size xxxx bytes。
你可能会觉得冤枉:“我查了代码,传递的 VideoInfo 对象顶多也就 600KB,离官方说的 1MB 限制还差得远呢,怎么就炸了?”
网硕互联帮助中心




评论前必须登录!
注册