Android getActivity()为空的问题解决办法
在开发项目中有时会碰到getActivity函数为空的情况, 导致apk空指针崩溃问题, 看代码逻辑没有明显的原因。
如果看Activity.Java、FragmentActivity.java的源码就可以找到原因。 当activity实例在后台时, 系统在回收资源时很可能回收掉Activity, 并在onSaveInstanceState函数里保存fragment的状态, 再次打开该Activity时, 在onCreate方法里取出bundle里的fragment状态, 但这时fragment对应的Activity早就不在了, 所以getActivity为空。
摘自FragmentActivity.java:
protected void onCreate(Bundle savedInstanceState) { ....... if (savedInstanceState != null) { Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG); mFragments.restoreAllState(p, nc != null ? nc.fragments : null); } mFragments.dispatchCreate(); } protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); Parcelable p = mFragments.saveAllState(); if (p != null) { outState.putParcelable(FRAGMENTS_TAG, p); } }
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- Java 中 invoke 方法的作用究竟是什么?(java invoke方法的作用是什么)
- Java 代理模式常见的应用场景有哪些?(java代理模式的应用场景是什么)
- 如何在 Java 中求平均值?(java怎么求平均值)
- Redis客户端自动化操作:提升效率与准确性
- Java 如何打印数组的全部内容?(java怎么打印数组全部内容)
- 在IDEA中如何配置Java开发环境?(IDEA中怎么配置Java开发环境)
- Java NoSQL 分布式部署的具体步骤是怎样的?(java nosql分布式部署如何进行)
- Java 依赖倒置原则的作用究竟是什么?(java依赖倒置的作用是什么)
- Redis客户端日志分析技巧:提升数据监控与性能优化
- Java Quarter 数据校准的详细步骤及技巧(java quarter如何进行数据校准)
猜你喜欢
AI推送时光机Android getActivity()为空的问题解决办法
后端开发2023-05-30
Android setTag方法的key问题解决办法
后端开发2022-06-06
Android setButtonDrawable()的兼容问题解决办法
后端开发2022-06-06
Android Retrofit 中文乱码问题的解决办法
后端开发2023-05-30
Android中findViewById返回为空null的快速解决办法
后端开发2022-06-06
Android SDK Manager无法更新问题解决办法
后端开发2022-06-06
解决Pycharm的available packages为空的问题
后端开发2023-08-31
Android中Fragment 重叠遮盖问题解决办法
后端开发2023-05-31
vue-cli空格报错问题的分析及解决办法
后端开发2023-05-14
Android studio 下的APK打包失败问题解决办法
后端开发2023-05-31
springboot访问404问题的解决办法
后端开发2023-05-14
oracle 11g使用exp导出空表问题解决办法
后端开发2024-04-02
EasyExcel工具读取Excel空数据行问题的解决办法
后端开发2022-11-13
JAVA8妙用Optional解决判断Null为空的问题方法
后端开发2024-04-02
咦!没有更多了?去看看其它编程学习网 内容吧