如何知道在運行中我的應用程序有多少內存可用?我的應用程序下載一些位圖並保存(在內存中)它們,以免再次下載它的用戶。但據我所知,Java的堆只有16MB,所以我需要處理一些低內存情況並丟棄一些下載的位圖(並非所有的位圖都在同一時間顯示,但它們可能對用戶可見只需點擊一下,如果已經下載)。執行期間可用應用程序的內存
有沒有辦法獲得實際的可用內存(也就是說,Java堆可用內存)?
如何知道在運行中我的應用程序有多少內存可用?我的應用程序下載一些位圖並保存(在內存中)它們,以免再次下載它的用戶。但據我所知,Java的堆只有16MB,所以我需要處理一些低內存情況並丟棄一些下載的位圖(並非所有的位圖都在同一時間顯示,但它們可能對用戶可見只需點擊一下,如果已經下載)。執行期間可用應用程序的內存
有沒有辦法獲得實際的可用內存(也就是說,Java堆可用內存)?
在Android上存儲一個博客
http://codelog.dexetra.com/post/47690459692/getting-around-android-memory-blues
檢查出來..它可以幫助ü..
不要擔心所有這些,請考慮將表示每個圖像的對象包裝在WeakReference中。然後只需使用Map<String, WeakReference<Image>>
緩存即可,或者您正在執行此操作。
這樣,如果它已經在緩存中,就使用它。如果它不在緩存中(或者它以前從未被訪問過,或者它已經被GC'd),那麼重新獲取它。
我會試試看。我會等待看看是否有辦法按照我解釋的方式獲取可用內存,以便其他用戶可能會看到答案。 (以防萬一,投票:D ...好建議) – Alesqui
首先是報告「圓盤狀」專用存儲區,第二系統RAM統計。 –
感謝您的信息克里斯斯特拉頓。我刪除了不必要的鏈接,只留下了所需的信息,然後... – Alesqui
首先,您可能需要決定是否要將它們下載到設備的非易失性存儲器中,即私有文件區或共享外部存儲器(「sdcard 「),所以他們堅持不同的會議。然後,您可以考慮將它們放在內存中,或根據需要加載它們,或者考慮各種按需自動方案。 –