Bri*_*Hsu 1 java android garbage-collection
我读过一篇博文(抱歉用中文写的),作者说:
这是一个与web相关的应用程序,我们声明了一些私有变量,当用户做了一些操作时,这些变量将设置为某个值供以后使用.
通常应用程序运行良好,但是当我们使用繁重的JavaScript打开某个网站时,我们的应用程序开始表现错误且意外(没有任何活动切换),我们无法找到原因.
最后,我们发现这是由整数变量设置为零引起的.但我们非常肯定我们的代码不会将其重置为零,因此只有一个可能的结论:"为了满足WebView所需的资源,垃圾收集器已经收集了我们的变量".所以最后我们设置将此变量声明为静态变量以避免此问题.
坦率地说,这个"GC设置为零到零"的论点完全违背了我的Java知识.
因为据我所知:
但我也担心是否有一些我没有考虑过的事情.
所以我对以下问题非常感兴趣:
我有任何可能的情况,由于垃圾收集,int或Integer对象可以重置为零?
如果对象持有int
或Integer
本身garabage收集的,后来被应用程序代码重新创建,它似乎是,外界int
或Integer
重置.
否则,没有.
GC是否可以释放对象占用的部分空间,而不是完整的对象?
只有当你使用的东西,如WeakReference
你与"部分空间"的连接.
是否可以引用已经垃圾回收的对象
不可以.如果你能够达到它,它就不能被垃圾收集.
如果我们取消引用会发生什么?
时空连续体将会破裂,我们所知道的结束现实.
归档时间: |
|
查看次数: |
1025 次 |
最近记录: |