• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Activity被回收导致fragment的getActivity为空,fragmentgetactivity

Activity被回收导致fragment的getActivity为空,fragmentgetactivity

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了fragment getactivity,fragmentactivity,fragmentactivity用法,activity跳转fragment,activity加载fragment等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Activity被回收导致fragment的getActivity为空,fragmentgetactivity


 在编写含有Fragment代码的时候,经常会遇到这种情况,假如app长时间在后台运行,再点击进入会crash,而且fragment页面有重叠的现象。

 如果系统内存不足、或者切换横竖屏、或者app长时间在后台运行,Activity都可能会被系统回收,然后Fragment并不会随着Activity的回收而被回收,从而导致,Fragment丢失对应的Activity。

    这里,假设我们我们含有一个MainActivity里面包含了一个FramentA。

    app发生的变化为:app长时间在后台运行,由于某种原因系统回收MainActivity——FragmentA被保存状态未被回收——再次点击app进入——首先加载的是未被回收的FragmentA的页面——由于MainActivity被回收,系统会重启MainActivity,FragmentA也会被再次加载——页面出现混乱,因为一层未回收的FragmentA覆盖在其上面——(假如FragmentA使用到了getActivity()方法)会报空指针,出现crash。

    这种情况下,我们可以这样解决:

    MainActivity重写onSaveInstanceState方法,将super.onSaveInstanceState(outState);注释掉,让其不再保存Fragment的状态,达到其随着MainActivity一起被回收的效果!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Activity被回收导致fragment的getActivity为空,fragmentgetactivity

相关文章

  • 2017-05-26android 编程小技巧(持续中)
  • 2017-10-21在Mac系统中 下载、安装AndroidStudio
  • 2017-05-26nginx使用let’s encrypt https证书并启用http2的使用记录
  • 2017-05-26在Kotlin上怎样用Mockito2 mock final 类(KAD 23),kotlinmockito2
  • 2017-05-224.1.1 Activity初学乍练
  • 2017-05-26【微学堂】第22期| Nginx的性能优化
  • 2017-05-26Android开发学习——ListView+BaseAdapter的使用,androidbaseadapter
  • 2017-05-26Android Studio使用中的异常,AndroidStudio使用
  • 2017-05-26《Android Studio实用指南》7.1 AndroidStudio代码检查工具概述
  • 2017-05-26Oracle监听与tnsnames文件标准配置解决监听无法连接问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android:Activity启动模式之singleTop
    • android中实现监听的四种方法,android四种方法
    • 减少Building 'Xxx' Gradle project info等待时间,buildinggradle
    • Glide的常用方法注释,Glide常用方法注释
    • 华为荣耀畅玩5C NEM-UL10 ROOT那些事儿(亲测成功),畅玩nem-ul10
    • 上传单个文件到多台机器工具
    • KeyEvent机制(按键),keyevent机制按键
    • Android 6.0 Permission权限与安全机制,androidpermission
    • eclipse搭建android开发环境详细步骤,eclipseandroid
    • 解决 file /isolinux/vmlinuz0 not found

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有