现象:
做一个小动画,实现方式为每50ms更新一张bitmap, 循环播放,从而达到动画效果。
问题:
发现动画会卡,有时卡在第7帧,有时卡在第10帧,不定。
研究:
使用traceview 工具,发现原来卡的时间 Java虚拟机在做gc (垃圾回收)操作。
跟踪代码,原来每次更新图片时,会创建一个Bitmap,而相关API此时会调用 gc 函数!
解决:
修改代码,预先生成需要的Bitmap, 循环时直接使用。 测试发现,问题解决!
现象:
做一个小动画,实现方式为每50ms更新一张bitmap, 循环播放,从而达到动画效果。
问题:
发现动画会卡,有时卡在第7帧,有时卡在第10帧,不定。
研究:
使用traceview 工具,发现原来卡的时间 Java虚拟机在做gc (垃圾回收)操作。
跟踪代码,原来每次更新图片时,会创建一个Bitmap,而相关API此时会调用 gc 函数!
解决:
修改代码,预先生成需要的Bitmap, 循环时直接使用。 测试发现,问题解决!