前言
满足了产品的功能基本需求,仅仅的是一个开始,后续需要进可能提高应用性能。用户除了使用产品的基本功能外,还期望我们的应用耗电少、启动快、对用户互动响应迅速,希望是一个酷炫而且高效的应用。
下面介绍Android Studio的日志输出信息来查看APP的内存的使用情况。
Dalvik日志消息
在Dalvik中,每个GC都会将以下信息输出到logcat中:
D/dalvikvm(PID): GC_Reason Amount_freed, Heap_stats, External_memory_stats, Pause_time
示例:
D/dalvikvm( 9050): GC_CONCURRENT freed 2049K, 65% free 3571K/9991K, external 4703K/5261K, paused 2ms+2ms
下面描述各个字段的含义:
GC原因(GC_Reason):
什么触发了GC以及是哪种回收。可能的原因包括:
- GC_CONCURRENT
在您的堆开始占用内存时释放内存的并发 GC。
- GC_FOR_MALLOC
您的堆已满而系统不得不停止您的应用并回收内存时,您的应用尝试分配内存而引起的 GC。
- GC_HPROF_DUMP_HEAP
当您请求创建 HPROF 文件来分析堆时发生的 GC。
- GC_EXPLICIT
显式 GC,例如当您调用 gc() 时