嗨,当我使用下面的代码加载多个捕获的图像时滚动非常懒惰,在显示图像之前滚动工作正常,我的代码在下面可以帮助我一些
ContentValues values = new ContentValues(values.put(MediaStore.Images.Media.TITLE, "New Picture");
values.put(MediaStore.Images.Media.DESCRIPTION, "From your Camera");
imageUri = getActivity().getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, Constants.CAMERA_REQUEST_CODE);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try {
if (resultCode == getActivity().RESULT_OK) {
Bitmap thumbnail =
MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(),imageUri);
shopImageFile = new File(Utilities.getRealPathFromURI(imageUri,getActivity()));
shop_image.setImageBitmap(thumbnail);
}
答案 0 :(得分:0)
从Capture图像加载图像时,请使用Glide / Fresco / Picasso。 因为您正在使用Bitmap来显示那些不是回收的图像,如果您使用的是位图,则使用代码回收它。
Glide / Picasso有助于您回收图像,也有助于缓存图像。
请在下面链接,希望这对您有所帮助:
毕加索:http://square.github.io/picasso/Glide:https://bumptech.github.io/glide/
mPhotouri = content://saulmm.myapplication.android.fileprovider/my_images/JPEG_20171214_124759_1433289888.jpg
saulmm.myapplication ==您的应用程序包名称。 saulmm.myapplication.android.fileprovider ==将提供者识别为ManifestFile的autority。 my_images ==我存储图像时的文件夹。
Picasso.with(mContext).load(mPhotouri).into(iv_view);
以上是我的详细代码给你。 希望这可以帮助你。