如何提高毕加索的速度

时间:2016-02-02 08:56:48

标签: android picasso

我使用Picasso加载图片,缩放并设置为listview项。有我的代码:

Picasso.with(getActivity()).load(builder.toString())
                            .config(Bitmap.Config.RGB_565)
                            .into(new Target() {
                                @Override
                                public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
                                    int width = Double.valueOf(bitmap.getWidth() * 0.75).intValue();
                                    int height = bitmap.getHeight();
                                    Bitmap newBitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height);
                                    imageView.setImageBitmap(newBitmap);

                                }

                                @Override
                                public void onBitmapFailed(Drawable errorDrawable) {

                                }

                                @Override
                                public void onPrepareLoad(Drawable placeHolderDrawable) {

                                }
                    });

当我在new Target()方法中创建.into()对象时出现问题,在此之前加载图像的速度非常快。 我认为究竟是什么原因减缓了我的工作以及如何纠正它?规模内存是否很昂贵,或者这是因为new Target()实现了呢?

谁遇到这个问题?怎么解决?

3 个答案:

答案 0 :(得分:1)

您可以使用Fresco进行图像加载..即使使用相同的Facebook和缩放您也可以使用android:scaleType.its非常有用 了解Fresco http://frescolib.org/docs/index.html

答案 1 :(得分:0)

使用Glide库适用于Android的图像加载和缓存库专注于平滑滚动。

https://github.com/bumptech/glide

Picasso也适合兑现或U可以使用LRU缓存。

答案 2 :(得分:0)

你没有看到缓慢。 <{1}}可能永远不会被调用。

Picasso只对Target持有WeakReference。您需要保留对Target的引用,否则在加载之前它将被清除并输入。