【内存泄漏Bug】animation未释放

问题描述

一个页面做了动画特效,这个页面有可能跳转到其他页面,并长时间不返回,该页面此时已经不活跃了,该页面的对象为无用对象,存在内存泄漏风险

问题分析

这个activity的特性是

  1. 有可能跳转到其他页面

  2. 有可能从其他页面跳转回来

  3. 点击back按钮,并不会杀死当前页面

页面不再处于前台的时候,未将动画暂停,释放动画资源

问题解决

  1. 优化stop的实现为:

    /**

    * 停止播放

    */

    public synchronized void stop() {

    mShouldRun = false;

    mHandler.removeCallbacksAndMessages(null);

    }

  2. 在onPause、onResume做动画的停止、恢复处理,避免重复创建动画;

  3. 在onDestory做动画的销毁处理,避免无法gc

相关推荐
萧曵 丶9 小时前
Java 常用运行参数配置及实际业务详解
java·bug·优化·问题排查·生产问题
熊猫钓鱼>_>11 小时前
Makefile应用场景实践日志:构建高效C/C++项目工作流
c语言·c++·bug·mfc·makefile·编译·kmp
野生技术架构师13 小时前
喜提一个bug,聊聊@NotEmpty和@NotBlank
java·算法·bug
好记忆不如烂笔头abc13 小时前
dmesg日志显示BUG: unable to handle page fault for address
bug
有错误先debug1 天前
记录一次接入Google智能音箱开发测试阶段的bug修复
bug·智能音箱
百***58841 天前
技术文章大纲:Bug悬案侦破大会
bug
滴啦嘟啦哒3 天前
【机械臂】【基本驱动】三、对于夹取物体bug的最新解决
深度学习·bug·ros
CNRio3 天前
Day 45:Git的高级技巧:使用Git的bisect快速定位bug
git·elasticsearch·bug
su_074 天前
Bug悬案侦破大会
bug
gjc5924 天前
MySQL隐蔽 BUG:组合条件查询无故返回空集?深度排查与规避方案
android·数据库·mysql·bug