使用枚举如何增加可执行文件的大小

How does using Enumerations increases the executable size?

本文关键字:可执行文件 增加 枚举 何增加      更新时间:2023-10-16

谷歌减少APK大小的技巧之一是避免使用Enumerations,他们说:A single enum can add about 1.0 to 1.4 KB of size to your app's classes.dex file.,这怎么可能?对于natice (C/c++)代码也是如此吗?
来源:https://developer.android.com/topic/performance/reduce-apk-size.html

java枚举的Dex膨胀已经在SO中讨论过了。C/c++中的枚举根本不会使代码膨胀。它们只是数字常量,每个开关的代码大小为每个case语句占用几个字节。如果枚举值是连续的且不大,则switch可以转换为TBB指令,该指令只需要每个case一个字节加上命令本身的大小。