扫码关注官方订阅号
我想 从a 跳转到 b ,a 不销毁,然后b返回a ,b后台 也不销毁。然后下一次打开b 再显示出来 并且数据还是原来的
小伙看你根骨奇佳,潜力无限,来学PHP伐。
解决方案: 复用Activity Stack中的实例。 launchMode: SingleTop intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
解决方案: 复用Activity Stack中的实例。
launchMode: SingleTop intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
上述解决方案基本可以解决你的问题,但并不是绝对。由于内存回收机制的原因,A --> B后,极端情况下A可能会被销毁,再次跳转至A,会重新create,当然 这可以算是相对极端的情况。
针对这种算是相对极端的情况的处理:
比较常见的方法是:
在onPause() 或 onSaveInstanceState()方法保存数据,当然只建议是量级较小的数据。onResume() 或 onRestoreInstanceState() 进行数据恢复。 前者适合保存持久性的数据,后者适合临时保存如UI信息的数据。
onResume() / onRestart() 生猛的进行重新请求。
需要注意的是onSaveInstanceState和onRestoreInstanceState 并不一定会成对调用。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
上述解决方案基本可以解决你的问题,但并不是绝对。
由于内存回收机制的原因,A --> B后,极端情况下A可能会被销毁,再次跳转至A,会重新create,当然 这可以算是相对极端的情况。
针对这种算是相对极端的情况的处理:
在onPause() 或 onSaveInstanceState()方法保存数据,当然只建议是量级较小的数据。onResume() 或 onRestoreInstanceState() 进行数据恢复。 前者适合保存持久性的数据,后者适合临时保存如UI信息的数据。
onResume() / onRestart() 生猛的进行重新请求。
需要注意的是onSaveInstanceState和onRestoreInstanceState 并不一定会成对调用。