Android 性能优化一例(Bitmap创建时会调用gc)

现象:

    做一个小动画,实现方式为每50ms更新一张bitmap, 循环播放,从而达到动画效果。

 

问题:

     发现动画会卡,有时卡在第7帧,有时卡在第10帧,不定。

 

研究:

     使用traceview 工具,发现原来卡的时间 Java虚拟机在做gc (垃圾回收)操作。

     跟踪代码,原来每次更新图片时,会创建一个Bitmap,而相关API此时会调用 gc 函数!

 

解决:

     修改代码,预先生成需要的Bitmap, 循环时直接使用。 测试发现,问题解决!

你可能感兴趣的:(java,android,虚拟机,api,性能优化,工具)