说说内存
Android与传统JVM差别:
- 大小
- 交换能力
- 内存交换能力——给应用系统有更多内存可用的假象
- Android根本没有PC机上虚拟内存大内存寻址空间的优待
primary type内存占用
Type | Local type | Size |
---|---|---|
boolean | jboolean | 8bit(desired by VM) |
byte | jbyte | 8 |
char | jchar | 16 |
short | jshort | 16 |
int | jint | 32 |
long | jlong | 64 |
float | jfloat | 32 |
double | jdouble | 64 |
使用尽可能少的内存,既是经验,也是常识
- 除了减少OOM的风险外,也可提升性能
性能主要由以下三个因素决定:
- CPU如何操纵特定的数据类型
- 数据和指令需要占用多少存储空间
- 数据在内存中的布局