云计算百科
云计算领域专业知识百科平台

Android 性能优化深水区:那些教科书上不会写的 Binder 调试与调优心法

目录

第一章:那个让音视频开发抓狂的 Log —— TransactionTooBigException

第二章:扒开内核看 mmap —— 1MB 到底去了哪?

第三章:暗度陈仓 —— Ashmem (Android Shared Memory) 实战

第四章:老派硬核 —— 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 限制还差得远呢,怎么就炸了?”

赞(0)
未经允许不得转载:网硕互联帮助中心 » Android 性能优化深水区:那些教科书上不会写的 Binder 调试与调优心法
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!