上周在项目开发中碰到了一个需求,APP首页底部的三个栏目Tab需要添加动画,每隔30s播放一下,动画不算复杂,一个帧动画就能实现。于是拿到手就紧锣密鼓搞了起来。

首页动画的优化方案

以上是其中一个tab的动画资源。

接着定义了公用的动画启动和关闭的方法

首页动画的优化方案

在首页的Activity的onCreate()调用了一下startAnim(),onDestory()调用stopAnim()。大功告成!就去提交代码了。

然而,当我把Android Profiler打开观测一下CPU,问题就出现了。不管是否在首页,CPU资源呈现下图这种走势,很明显这是不必要的,当在首页时,动画执行,只要首页不可见时,动画就应该停止。

首页动画的优化方案

马不停蹄,继续修改呀。于是将startAnim()与stopAnim()调用时机改了一下,通过Activity的生命周期来控制动画的开启与关闭。onResume开启动画,onPause关闭动画

首页动画的优化方案

这样改完后,当切到另一页面时,CPU资源就没有了之前的周期式变化,CPU资源得到了节省。

总而言之,动画本身其实就是比较耗资源的,所以在开发过程中,一定要注意CPU/MEMORY的占用情况,尽量优化,减少开销,提升APP性能。

相关文章:

  • 2021-12-04
  • 2021-08-29
  • 2021-11-13
  • 2021-12-22
  • 2021-11-29
  • 2021-10-20
  • 2021-12-09
  • 2021-09-25
猜你喜欢
  • 2021-12-19
  • 2021-12-10
  • 2021-11-04
  • 2018-12-13
  • 2021-10-31
  • 2019-05-24
  • 2020-10-10
  • 2021-10-18
相关资源
相似解决方案