我已在数据库中保存图像路径,并将图像保存在文件夹中。在列表视图应用程序中显示图像卡住并且速度很慢我不明白如何解决这个问题。
我正在使用以下代码:
strContactImage = customer.getPhotoPath();
Bitmap decodedImage = BitmapFactory.decodeFile(strContactImage);
customerImage.setImageBitmap(decodedImage);
customer.getPhotoPath()
获取文件夹照片路径图片,并正确显示,但当我添加超过20条记录时,应用程序速度变慢,卡住了。
答案 0 :(得分:0)
使用uri将图像设置为图像视图,而不是解码为位图...
strContactImage = customer.getPhotoPath();
Uri uri=Uri.fromFile(new File(strContactImage));
// Set the uri into ImageView
customerImage.setImageURI(uri);
它可能对你有帮助......
答案 1 :(得分:0)
您可以使用任何图像缓存库,这是Picasso的例子
strContactImage = customer.getPhotoPath();
Picasso.with(context)
.load(new File(strContactImage))
.into(customerImage);
答案 2 :(得分:0)
检查他们可以影响内存的图像大小,如果占用大量内存,会使应用程序卡住并放慢速度!
修复
Load a Scaled Down Version into Memory
并检查方法calculateInSampleSize()
和decodeSampledBitmapFromResource()
it’s not worth loading a 1024x768 pixel image into memory if it will eventually be displayed in a 128x96 pixel thumbnail in an ImageView.
你可以使用可以帮助你加载图像的库,他们会关注内存使用情况并将图像加载到你的视图中
图书馆:
示例:
Picasso.with(context).load(file).into(imageview);
示例:
GlideApp.with(context).load(file).into(imageview);