簡體   English   中英

Android,將BitmapPool與Glide庫一起使用

[英]Android, Using BitmapPool with Glide library

我在我的應用程序中使用glide庫顯示位圖(來自資產和url)。 它運作良好,但由於在每個活動中都顯示很多圖像,所以我的備忘錄不足。 我看到我可以使用BitmapPool中的clearMemory(),但是我不知道如何調用它。

有人知道怎么稱呼它嗎?

謝謝

您可以使用clearMemory()trimMemory()來清除Glide的內存緩存和位圖池:

Glide.get(context).clearMemory()
// or:
Glide.get(context).trimMemory(ComponentCallbacks2.TRIM_MEMORY_MODERATE);

就是說,您無需執行任何操作。 檢查兩件事:

  1. 您是否正在加載多個大圖像? 如果是這樣,則需要確保對它們進行了降采樣,因此請考慮在將圖像加載到的View上設置顯式大小,或者根據請求使用Glide的override() API。 結合使用諸如fitCenter類的fitCenter可以幫助減少每個圖像使用的內存。
  2. 您的應用程序中是否存在內存泄漏? 盡管位圖分配通常會引發實際的OutOfMemoryException,但在大多數情況下,根本原因是應用程序中其他位置的內存泄漏。 如果#1不能解決您的問題,請嘗試捕獲堆轉儲並檢查是否泄漏。 Android開發人員頁面提供有關如何執行此操作的出色教程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM