[英]Loading lots of images in Android
我試圖將許多縮略圖加載到GridView中,但最終出現在OutOfMemoryException中。 我想將大約500-1000(甚至更多)圖像加載到GridView中,並且我打算使用MINI_SIZE縮略圖。 現在,我要問理想的低性能方法是什么。
要加載圖像,請使用諸如AsyncTask
類的后台線程,並使用帶有GridLayoutManager
的Recyclerview
,它應在拖動時加載圖像,而不是一次加載所有圖像
這是RecyclerView
出現的地方。
什么是RecyclerView?
就像ListView,您的android系統將在其中自動回收那些不再在屏幕上可見的視圖。 它允許用戶在視圖之間(垂直和水平)滾動,並維護自己的緩存。 這里的“自動回收”是指它維持“不再可見的視圖”的閾值,然后重新使用那些已超過閾值限制的視圖。
嗯! 但是,您將如何加載這么多的圖像,這會不會導致ANR?
有兩種方法可以解決此問題:
HandlerThread
或AsyncTask
或簡單地使用Thread
一次加載所有項目並顯示ProgressBar
直到完成加載。 但是這種方法會導致某些設備的OOM (Out Of Memory)
。 另外,不要忘記使用Glide緩存圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.