当我在android中显示捕获的图像时,Scroll会懒洋洋地加载

时间:2017-12-14 06:17:16

标签: android camera

嗨,当我使用下面的代码加载多个捕获的图像时滚动非常懒惰,在显示图像之前滚动工作正常,我的代码在下面可以帮助我一些

代码: -

     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);
}

1 个答案:

答案 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);

以上是我的详细代码给你。 希望这可以帮助你。