在代码中使用枚举Enums
来源:互联网 发布:淘宝怎么用图片搜索 编辑:程序博客网 时间:2024/05/16 19:28
在代码中使用枚举Enums
Android官网上明确提示避免使用枚举Enums
Enums often require morethan twice as much memory as static constants. You should strictly avoid usingenums on Android.
事实有些细微差别,而且和性能与内存膨胀之间的差别有着很大的关系。
当你载入应用时,android会为你的应用留出一定的系统空间。为了让你应用运行,它的所有DEX代码都被载人那个空间。为了你应用进行的运行环境配置。这个空间最后会和剩余的堆共享。但是辛好,它不和你的运行环境配置竞争。然而它的确会为系统内存施加压力,当然,这个内存降低时,会终止你应用来释放空间。
考虑到这一点,我们来看看你应用上的枚举的效果。
测试一个小型数据库的引用,它的整个DEX覆盖区是2556字节。
在Dome中加人一些整型,系统可使用可返回的状态。
重新编译后,DEX大小为 2680字节
在Dome中加人一些枚举
使用枚举 enum 结果是DEX大小为4188字节。所以代码中增加一个字节,就增加了1632字节到最后的DEX大小。差不多是int版本内存的13倍。意味着你的引用使用的枚举越多,消耗空间就越大。
在开发中你可以通过注解方式替代枚举的使用:
0 0
- 在代码中使用枚举Enums
- enums枚举
- C#枚举(Enums)
- C#枚举(Enums)
- 在项目中简单使用枚举的示例代码
- 在枚举中使用位移
- C++11新特性(三)Strongly-typed enums 强类型枚举简单使用
- Java记录 -79- 枚举(Enums)
- 再谈在Java中使用枚举
- 再谈在Java中使用枚举
- 再谈在Java中使用枚举
- 在Dictionary中使用枚举做键值
- 如何在Java中使用枚举
- 枚举类型在Java中使用
- 在PowerShell中使用枚举类型
- C# 枚举在项目中使用心得
- 在映射表中使用enum枚举
- 在Lua中使用枚举型变量
- UITextFile UITextView 键盘回收
- Cubietruck---5. boot1源码流程简略分析
- 为什么Ubuntu 下的svn 没有上传.so 的库文件?
- Markdown编辑器
- LeetCode 84 Largest Rectangle in Histogram
- 在代码中使用枚举Enums
- 微信分享闪退{"req":"e","errCode":-6,"transaction":"webpage1465293088371"}
- android新手进阶之百度地图基本功能实现
- 【LightOJ】1294 - Positive Negative Sign
- 解决在word中用mathtype编辑的公式转换成pdf时出现错位现象
- 深入java虚拟机(六)--Java语法糖
- Cubietruck---6. boot.axf源码流程简略分析
- moment.js的学习
- fcntl 函数小揭秘