android开发之高效使用内存

来源:互联网 发布:微信群控系统源码 编辑:程序博客网 时间:2024/06/07 23:58

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文件时

0 0