【内存泄漏Bug】animation未释放

问题描述

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

问题分析

这个activity的特性是

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

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

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

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

问题解决

  1. 优化stop的实现为:

    /**

    * 停止播放

    */

    public synchronized void stop() {

    mShouldRun = false;

    mHandler.removeCallbacksAndMessages(null);

    }

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

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

相关推荐
gladiator+12 小时前
Weblog项目bug合集
bug
workflower1 天前
小强地狱(Bug Hell)
大数据·bug·团队开发·需求分析·个人开发·结对编程
万粉变现经纪人1 天前
Python系列Bug修复PyCharm控制台pip install报错:如何解决 pip install 网络报错 企业网关拦截 User-Agent 问题
网络·python·pycharm·beautifulsoup·bug·pandas·pip
燕双嘤2 天前
Bug:Nginx 转发末尾斜杠导致 404 问题分析
bug
TeleostNaCl2 天前
一种解决 Win10的微软输入法无法禁用 shift + 空格 切换半角/全角切换bug的方法
经验分享·微软·bug
wy3136228212 天前
android——开发中的常见Bug汇总与解决方案(闪退)
android·bug
Swift社区3 天前
RN 项目中“页面存在 ≠ 页面可见”会导致哪些隐藏 Bug?
react native·bug·react
tongyue3 天前
天问esp32驱动DHT11官方程序BUG修复
bug
laocooon5238578864 天前
写代码 调bug相关信息
bug
鸿儒5174 天前
记录一个C++操作8位影像的一个bug
开发语言·c++·bug