我正在開發一個Java桌面應用程序,其中有許多緩存,例如對象池,緩存的JPanel等等。什麼時候是在Java中釋放緩存對象的好時機?
示例: 當用戶從一個面板切換到另一個面板時,如果用戶切換回來,我不會銷燬前一個面板。
但是,當系統處於這些內存資源的迫切需要,我消費不這麼名正言順的應用程序內存消耗可能會高...
在iOS應用程序,我會釋放這些在「applicationDidReceiveMemoryWarning」方法。但在Java ...?
那麼,什麼時候在Java中釋放緩存對象是個好時機?
那麼說 - 我會使用一個WeakReference,而不是真正'保持不軌'。 – 2012-02-22 04:56:55
哇。我承認之前不知道這些。我搜索了一下,發現它非常有用。有點過時但很精彩的文章:http://weblogs.java.net/blog/2006/05/04/understanding-weak-references – Mazyod 2012-02-22 05:03:45
+1提及軟引用。 – casablanca 2012-02-22 05:08:01