Контроллер загрузки изображений Fresco

Я использую библиотеку загрузки изображений Fresco, и у меня вопрос: могу ли я использовать ее внутри адаптера? и под этим я подразумеваю вызов контроллера каждый раз, когда вызывается bindView, с ним, похоже, нет проблем, и он на самом деле не описан здесь

        public void bindView(View view, final Context context, Cursor cursor) {
            DraweeController controller = Fresco.newDraweeControllerBuilder()
            .setOldController(imageview.getController())
            .setUri(Uri.parse("file://" + sdPath))
            .setAutoPlayAnimations(true)
            .build();
            imageview.setController(controller);
        }

И второй вопрос заключается в том, что я использую вышеизложенное для изображений GIF, но оно также отлично работает с изображениями, поэтому могу ли я использовать вышеуказанное для обоих? или я должен использовать вышеуказанное только для GIF и следующее для изображений,

Uri uri = Uri.parse(Uri.parse("file://" + sdPath));
SimpleDraweeView imageview = (SimpleDraweeView) findViewById(R.id.my_image_view);
imageview.setImageURI(uri);

Причина, по которой я спрашиваю об этом, заключается в том, что в универсальном загрузчике изображений я вызываю экземпляр один раз, а затем использую его в bindView, поскольку это рекомендуемый способ его использования в адаптере.

private static class MyCursorAdapter extends CursorAdapter {
        private ImageLoader imageLoader = ImageLoader.getInstance();

        public void bindView(View view, final Context context, Cursor cursor) {
           imageLoader.displayImage("file://" + sdPath, imageview);

        }

person Adroid Freak    schedule 06.08.2015    source источник


Ответы (1)


Первый подход совершенно безопасно использовать как для анимации, так и для статических изображений. На самом деле setImageURI преобразуется точно в то же самое, за исключением setAutoPlayAnimations, которое по умолчанию равно false. setAutoPlayAnimations игнорируется для статических изображений, так что не помешает, чтобы оно всегда было истинным.

person plamenko    schedule 07.08.2015