我有一個 50 塊的 recycleView。該塊有兩個ImageView。我應該為來自不同 URL 的每個塊設置兩個圖像。當我開始我的程序時,我翻轉列表,我的程序變慢了。我認為它會阻止,因為當我滾動列表 recyclerView 時再次轉到 URL 以拍攝圖像。我對嗎?我該如何解決?這就是我如何從 URL 將圖像設置為 recyclerViewURL newurl = new URL(imageString);Bitmap mIcon_val = BitmapFactory.decodeStream(newurl.openConnection().getInputStream());holder.myImageView.setImageBitmap(mIcon_val);
3 回答

炎炎設計
TA貢獻1808條經驗 獲得超4個贊
您可以使用 picasso 或 glide 來完成此任務-:
Glide.with(context).load(model.getVoucher_image()).into(holder.imageview);

牛魔王的故事
TA貢獻1830條經驗 獲得超3個贊
您正在使用位圖加載圖像。在圖像視圖中加載位圖是非常耗費內存的任務。
相反,您可以使用第三方庫直接從網絡 URL 加載圖像。
這些庫之一是 Glide。您只需要將 imageView 和 URL 傳遞給它,它就會直接加載圖像。
Glide.with(context) .load("URL HERE") .into(imageView);
即使您可以在將圖像加載到 imageView 之前調整圖像大小,通過這樣做,您也可以減少內存消耗。
RequestOptions requestOptions = new RequestOptions(); requestOptions.override(120, 120); requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL); Glide.with(context) .load("URL HERE") .apply(requestOptions) .into(imageView);

小唯快跑啊
TA貢獻1863條經驗 獲得超2個贊
使用 Glide 高效加載圖片。
示例 在應用程序模塊中gradle
添加此
repositories { mavenCentral() google() } dependencies { implementation 'com.github.bumptech.glide:glide:4.9.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'}
然后使用 glide 從中加載圖像drawable
Glide.with(this).load(R.drawable.image_name).into(imageView);
例子
onBindViewHolder 這樣做
Glide.with(this).load(logoImage).into(holder.logo);
添加回答
舉報
0/150
提交
取消