Android Activity onDestroy() 不回调的解决方式
用Activity的时候,会发现如下问题:
有时候会发现Activity的onDestroy方法回调不执行,或者延时执行,比较缓慢(可以达到好几秒钟之后才调用),即使之前使用finish方式关闭Activity也一样
onDestroy回调慢带来什么问题呢?
有可能再次打开Activity的时候,都走完了onCreate,onResume之后上一次的onDestroy方法才被调用,想想如果在onResume和
onDestroy中共同维护了一个变量(isActivityShowing --> Activity是否正在显示),这个时候这个状态就错了。
解决方法与建议
所以建议不要在Activity的onDestroy方法中做有关于数据存储,状态维护的事情,回收资源也最好不要完全依赖这个方法,可以用下面的方式
建议用以下方式绕过这个坑。
//定义一个标志表示资源是否释放private boolean mIsDestroyed = false;private void doDestroy() {if (mIsDestroyed ) {return;}// 释放静态资源OkHttpUtils.getInstance().cancelTag("getinfo");//mIsDestroyed = true;}@Overrideprotected void onPause() {super.onPause();if (isFinishing()) {doDestroy();}}@Overridepublic void onDestroy() {super.onDestroy();doDestroy();}
Android Activity onDestroy() 不回调的解决方式相关推荐
- Activity onDestroy延迟回调
前端时间工作的时候遇到了两个奇怪的问题: 使用百度步行导航的时候,开启导航后立即退出,再次进入的时候就会黑屏: 使用度小满支付的时候,当支付成功后页面一直显示loading,过了10s左右才恢复正常. ...
- Android加载图片OOM错误解决方式
前几天做项目的时候,甲方要求是PAD (SAMSUNG P600 10.1寸 2560*1600)的PAD上显示高分辨率的大图片. SQLITE採用BOLD方式存储图片,这个存取过程就不说了哈,网上一 ...
- 安装android studio报错,及解决方式
在Android Studio的使用过程中,发现没有办法创建或运行虚拟机.在此记录一波三折的解决过程. 1.Error: Your CPU does not support required feat ...
- Android vivo手机安装失败的解决方式
想看更多算法题,可以扫描上方二维码关注我微信公众号"数据结构和算法",截止到目前我已经在公众号中更新了500多道算法题,其中部分已经整理成了pdf文档,截止到目前总共有800多页( ...
- solrcloud mysql_solrcloud使用中遇到的问题及解决方式
首先声明,我们团队在使用solrcloud过程中踩了一些坑,同事(晓磊和首富)进行了总结,我列到我的博客上做记录用: Q:为什么Solr里面的时间比数据库里面早8小时? Solr默认采用的时区是UTC ...
- Android爬坑之旅:软键盘挡住输入框问题的终极解决方式
本文由BarryZhang原创,同一时候首发于diycode.cc.barryzhang.com .github.com/barryhappy.非商业转载请注明作者和原文链接. 前言 开发做得久了.总 ...
- Android:销毁所有的Activity退出应用程序几种方式
Android:销毁所有的Activity退出应用程序几种方式 author:DRC工作室 我们都知道,Activity是存放在栈中.在默认的情况下(standard)Activity在栈中是以先进后 ...
- android获取activity截图,Android Activity 不能被截屏的解决方法
Android Activity 不能被截屏的解决方法 在Activity 添加即可 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECU ...
- Android Studio经验积累之常见问题以及解决方式
原文出处--Android Studio经验积累 1.获取SHA1: Android Studio中获取sha1证书指纹数据的方法 2.注释模板:android studio中如何设置注释模板 3.A ...
最新文章
- 如果你去小公司带技术团队,可能需要做的事情
- USNews 2020美国大学排名公布:UCLA超越伯克利;计算机专业MIT第一,斯坦福跌出前四...
- 拒绝从入门到放弃_《Openstack 设计与实现》必读目录
- 掌握这几种平面设计思维类型,让你设计水平上新台阶
- 移动端去除横向滚动条
- python3 有序字典
- 【方案分享】2020娜扎X薇娅SKG娜小古直播方案.pdf(附下载链接)
- livedata mvvm_Android MVVM LiveData数据绑定
- Centos 6.8 配置mysql数据库主从同步
- Phoenix Tips (13) 统计收集
- Asp.net MVC4 下二级联动
- Atitit 模板引擎总结 v4 saa 目录 1. 模板引擎	1 1.1. 构成渲染引擎+指令系统	1 1.2. 模板语法mustache语法 es6 el语法	1 2. 常见模板步骤	1 2.
- QT 快捷键 识别小写字母
- windows域用户切换本地用户
- EMC电磁兼容---EMI电磁干扰
- 使用Power Automate (MS Flow) 发送审批邮件
- windows影音制作工具安装教程
- nofollow是什么意思,nofollow标签的作用是什么?
- 分手后怎样才能让前任重回你身边
- find与grep组合命令
热门文章
- 用PaddlePaddle鉴定红酒质量
- 抖音小店另类起店方法
- Rosalind Java|Longest Increasing Subsequence动态规划算法
- python去掉字典重复项_从字典列表中删除重复项python
- iOS App 名字国际化的办法
- 论文阅读笔记(1):Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation
- mysql查询薪酬最高_SQL查询找到第N个最高薪水
- 台积电业绩惊人,但全球芯片行业衰退影响加剧,将加码中国市场
- Visual Studio2022编译报错解决方法
- 【工具分享篇二】PDF公式提取教程(一):Mathpix/Typora及Pandoc扩展安装教程