我使用https://github.com/thest1/LazyList进行图像缓存。我必须全屏显示图像。但是图像质量有很大的损失。 哪些代码我不得不改变为获得原始image.thanks提前。Android:使用ImageLoader减少图像质量
1
A
回答
5
寻找在ImageLoader的类此方法,
private Bitmap decodeFile(File f){
try {
//decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeStream(new FileInputStream(f),null,o);
//Find the correct scale value. It should be the power of 2.
final int REQUIRED_SIZE=70;
int width_tmp=o.outWidth, height_tmp=o.outHeight;
int scale=1;
while(true){
if(width_tmp/2<REQUIRED_SIZE || height_tmp/2<REQUIRED_SIZE)
break;
width_tmp/=2;
height_tmp/=2;
scale*=2;
}
//decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize=scale;
return BitmapFactory.decodeStream(new FileInputStream(f), null, o2);
} catch (FileNotFoundException e) {}
return null;
}
,并删除下面的线从这个方法,
while(true){
if(width_tmp/2<REQUIRED_SIZE || height_tmp/2<REQUIRED_SIZE)
break;
width_tmp/=2;
height_tmp/=2;
scale*=2;
}
这将确保你的形象没有得到根本缩放。
但是你必须记住,如果你这样做,你的应用程序容易受到OOM的攻击。
+1
是的,我同意Andro Selva,在某些情况下,您将通过删除此代码块来解决内存异常问题 – Anand 2012-07-20 11:40:32
0
在你ImageLoader.java
功能
//decodes image and scales it to reduce memory consumption
private Bitmap decodeFile(File f)
用于缩放/调整UR图像。
final int REQUIRED_SIZE=70;
增加此项可提高图像质量。使它200或东西,并尝试。
相关问题
- 1. 减少德尔福图像质量
- 2. 在android中减少图像大小而不损失其质量
- 3. 图像质量android
- 4. 减少图像尺寸,但保持最高质量/分辨率?
- 5. Visual Studio:在Crystal Report Viewer中减少图像质量
- 6. 减少图像文件的大小,但保持质量,与samle
- 7. 图像缩放问题(尺寸减少质量损失)
- 8. 如何减少Android中图像的内存使用量
- 9. 减少Android中位图的总大小而不损失质量
- 10. 如何减少使用回形针的上传图像的质量?
- 11. 图像质量扭曲时,尽量减少位图的高度和宽度
- 12. 减少一个UIImage的质量(压缩),
- 13. Android:减少BackStack内存使用量
- 14. 图像质量
- 15. Android - 矢量图像质量下降?
- 16. Android的位图图像质量问题
- 17. Android相机意图图像质量
- 18. 在android中减少视频大小/质量
- 19. 在网页中显示所有的图像与一个尺寸减少质量
- 20. 如何减少背景图像的内存使用量?
- 21. 如何减少处理许多图像的内存使用量?
- 22. 如何下载图像以减少网络使用量?
- 23. 如何减少多个图像的内存使用量?
- 24. 解析gif图片是减少质量和叠加帧
- 25. DOMPDF图像质量
- 26. AppWidget图像质量
- 27. MapView图像质量
- 28. 尽量减少使用
- 29. 减少内存使用量
- 30. 尽量减少使用scipy.optimize
你能告诉我你为什么要在全屏显示图像时使用LazyList。 – AB1209 2012-07-20 11:34:12
@ AB1209为什么不在这种情况下使用LazyLoading。用户可能不希望UI线程被挂起。这真的很好用.. – 2012-07-20 11:36:14
@ AB1209我有很多图片可以从网上下载并显示到gallery-View中。 – Roshni 2012-07-20 11:44:08