java - 毕加索图片在 android 中加载缓慢,为什么?

标签 java android xml android-studio

Picasso libery 中的图像在单击几下后加载到模拟器中,速度非常慢。为什么他们加载这么慢?我该怎么做才能让它们加载得更快。我用 png 文件和 jpg 试过了。

Java代码

 private int a;
 ImageView ivImageFromUrl;


 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ivImageFromUrl=(ImageView)findViewById(R.id.iv_image_from_url);

}

 public void buttonOnClick(View v)  {
    // do something when the button is clicked
    Button button = (Button) v;

    a = (byte) (Math.random() * 5);

    switch (a) {
        case 1:
            Picasso.with(getApplicationContext()).load("http://icons.iconarchive.com/icons/crountch/one-piece-jolly-roger/72/Luffys-flag-2-icon.png").into(ivImageFromUrl);
          break;
        case 2:
            Picasso.with(getApplicationContext()).load("http://i40.tinypic.com/2i8xait.jpg").into(ivImageFromUrl);
            break;
        case 3:
            Picasso.with(getApplicationContext()).load("http://i41.tinypic.com/2i8xahh.jpg").into(ivImageFromUrl);
            break;
        case 4:
            Picasso.with(getApplicationContext()).load("http://i42.tinypic.com/2i8xahk.jpg").into(ivImageFromUrl);
            break;
        case 5:
            Picasso.with(getApplicationContext()).load("http://i40.tinypic.com/2i8xagp.jpg").into(ivImageFromUrl);
            break;
    }
}
}

XML

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    android:id="@+id/textView2" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Image text"
    android:id="@+id/textView"
    android:layout_below="@+id/textView2"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="82dp" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Image"
    android:id="@+id/button"
    android:onClick="buttonOnClick"
    android:layout_below="@+id/textView"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="41dp" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/iv_image_from_url"
    android:layout_alignParentBottom="true"
    android:layout_alignRight="@+id/textView"
    android:layout_alignEnd="@+id/textView"
    android:layout_marginBottom="106dp" />

最佳答案

如果您的图片太大,则可能需要一些时间。

如果您需要显示个人资料图片,其在布局中的尺寸为 350x350,那么为什么要加载完整图片。根据您的要求重新调整图像大小。

Picasso.with(getApplicationContext()).load(filePath).resize(400,400).centerCrop().into(imageView);

关于java - 毕加索图片在 android 中加载缓慢,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37399131/

相关文章:

java - jrebel 排除文件 ( messages.properties )

java - Android listview左右对齐

html - 使用 XSLT 以两个为一组将 XML 元素格式化为 HTML

c# - 读取 XML(来自字符串)并获取一些字段 - Problems reading XML

android - 在android中调用另一个 Activity 时如何避免黑屏?

java - 如何删除输入xml中的空标签

java - 多态性在三元中失败,但在标准条件中通过(捕获?)

java - 从 Java 程序中打开任何文件

java - 如何比较 java 8 中的两个 java.time.Period?

android - 为多个 Activity 运行 Android MonkeyRunner