簡體   English   中英

在Android中加載大量圖片

[英]Loading lots of images in Android

我試圖將許多縮略圖加載到GridView中,但最終出現在OutOfMemoryException中。 我想將大約500-1000(甚至更多)圖像加載到GridView中,並且我打算使用MINI_SIZE縮略圖。 現在,我要問理想的低性能方法是什么。

要加載圖像,請使用諸如AsyncTask類的后台線程,並使用帶有GridLayoutManagerRecyclerview ,它應在拖動時加載圖像,而不是一次加載所有圖像

這是RecyclerView出現的地方。

什么是RecyclerView?

就像ListView,您的android系統將在其中自動回收那些不再在屏幕上可見的視圖。 它允許用戶在視圖之間(垂直和水平)滾動,並維護自己的緩存。 這里的“自動回收”是指它維持“不再可見的視圖”的閾值,然后重新使用那些已超過閾值限制的視圖。

嗯! 但是,您將如何加載這么多的圖像,這會不會導致ANR?

有兩種方法可以解決此問題:

  1. 使用RecyclerView的無限/無窮滾動功能 ,它將首先加載一定比例的圖像,當用戶滾動時,它將自動加載更多圖像。
  2. 使用HandlerThreadAsyncTask或簡單地使用Thread一次加載所有項目並顯示ProgressBar直到完成加載。 但是這種方法會導致某些設備的OOM (Out Of Memory)

另外,不要忘記使用Glide緩存圖像。

暫無
暫無

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

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