【发布时间】:2017-07-28 08:51:42
【问题描述】:
我正在尝试使用 Glide 库来管理相机捕获的位图。
这里是工作代码(没有 Glide)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK){
try{
Bundle extras = data.getExtras();
Bitmap photo = (Bitmap) extras.get("data");
imageView.setImageBitmap(photo);
}
catch(Exception e){
e.printStackTrace();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
这里是我对 Glide 的尝试:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK){
try{
Bundle extras = data.getExtras();
Bitmap photo = (Bitmap) extras.get("data");
//imageView.setImageBitmap(photo);
Glide.with(imageView.getContext()).load(extras.get("data")).asBitmap().override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).fitCenter().into(imageView);
}
catch(Exception e){
e.printStackTrace();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
我的 imageView 仍然是空的。
【问题讨论】:
-
这里为什么需要 Glide?你有
Bitmap。您不需要在后台加载Bitmap。 -
我想防止内存使用不当。我对 Glide 使用的理解几乎为零。抱歉,我真的很害怕 Java.OutOfMemory 异常,我试图尽可能多地应用 Glide 库。
-
@CommonsWare 顺便说一句,对不起我的坚持,有办法吗?
-
有什么办法吗?您的第一个代码 sn-p 与您从第三方相机应用程序获取照片一样节省内存。
-
@CommonsWare 使用 Glide 库分配 ImageView 位图,而不是创建一个位图对象。
标签: android bitmap android-camera android-glide