1.android设备性能取决的因素
Android设备和其上的应用使用的内存是有限的,使用尽可能少的内存,是非常必须的
(1)CPU如何操纵特定的数据类型
(2)数据和指令需要占用多少存储空间
(3)数据在内存中的布局
2. 数据类型的使用要点
(1)short数组排序远快于其他类型数组
(2)处理64位类型(long或double)比处理32位类型慢
(3)处理大量数据时,使用可以满足要求的最小数据类型
(4)避免类型转换
3.内存泄露
只有当某个对象不再被引用时,它的内存才会被回收,当该被释放的对象引用仍然存在时就会发生内存泄露。
Android2.3定义了StrictMode类,检测潜在的内存泄露有很大帮助,但只能检测SQLite对象没有关闭时产生的泄露。
在Android3.0及以上的版本中,可以检测Activity泄露、其他对象泄露、对象没有关闭的泄露。
4.java定义了4中类型的引用:
(1)强(strong)
(2)软(Soft)
(3)弱(Weak)
(4)虚(Phantom)
5.垃圾收集(发生时间最终由Dalvik虚拟机决定,下面的情况会触发垃圾收集):
(1)GC_FOR_MALLOC:堆被占满不能进行内存分配时
(2)GC_CONCURRENT:垃圾可供回收时
(3)GC_EXPLICIT:显示调用System.gc()产生的垃圾收集
(4)GC_EXTERNAL_ALLOC:......
(5) GC_HPROF_DUMP_HEAP:发生在创建HPROF文件时