扫码关注官方订阅号
人生最曼妙的风景,竟是内心的淡定与从容!
这个问题问的好,我也没有好好考虑过这个问题,应该涉及java内部机制,内存模型的东西放在application是没有问题的,但是不是很推荐这样做。我的做法是放到cache里,且get后,直接clear掉了。因为我的考虑是,很多场景下,值我只需要用一次,放到cache里,用完就扔了
On stop是不会销毁的,上代码吧
不能一概而论吧,有些定制的手机会做一些人性化的操作,帮你“记住”这些变量。
在Activity被切换到后台之后,内存不足的时候,会被销毁。。。如果想让你的那个JavaBean对象在其它Activity实例里都可以使用,为什么不直接把引用传过去,或者做一个缓存来保持这些引用
application可以保存。一般切换到B或C时,A进入on stop阶段,是不会销毁实例的。也有可能资源不足,系统给destroy了。
第一种方案是放到application里面,application的生命周期长,不会造成这种情况;第二种方案转成字符串存到sharepreferences或者sdcard里面,可以达到不同页面共享的目的。推荐使用第二种方案
那些数据回收与否,是由回收机制决定。不过你可以在onSaveInstance中使用Bundle存储数据。
楼主这个问题我也碰到过,我在Stackoverflow上搜寻过答案并且整理在这里:http://blog.csdn.net/max2005/article/details/46599119注意仅供参考,误导莫怪。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这个问题问的好,我也没有好好考虑过这个问题,应该涉及java内部机制,内存模型的东西
放在application是没有问题的,但是不是很推荐这样做。
我的做法是放到cache里,且get后,直接clear掉了。因为我的考虑是,很多场景下,值我只需要用一次,放到cache里,用完就扔了
On stop是不会销毁的,上代码吧
不能一概而论吧,有些定制的手机会做一些人性化的操作,帮你“记住”这些变量。
在Activity被切换到后台之后,内存不足的时候,会被销毁。。。
如果想让你的那个JavaBean对象在其它Activity实例里都可以使用,为什么不直接把引用传过去,或者做一个缓存来保持这些引用
application可以保存。一般切换到B或C时,A进入on stop阶段,是不会销毁实例的。也有可能资源不足,系统给destroy了。
第一种方案是放到application里面,application的生命周期长,不会造成这种情况;第二种方案转成字符串存到sharepreferences或者sdcard里面,可以达到不同页面共享的目的。推荐使用第二种方案
那些数据回收与否,是由回收机制决定。不过你可以在onSaveInstance中使用Bundle存储数据。
楼主这个问题我也碰到过,我在Stackoverflow上搜寻过答案并且整理在这里:http://blog.csdn.net/max2005/article/details/46599119
注意仅供参考,误导莫怪。