Android imageview性能,布局中有1个或3个图像?

Android imageview性能,布局中有1个或3个图像?,android,performance,memory,imageview,rendering,Android,Performance,Memory,Imageview,Rendering,我想知道在渲染和内存消耗方面什么更有效 让我们假设一个图像总是可见的。 在一个布局中有3个图像并更改它们的可见性,或者以编程方式更改1个图像的imageResource,哪种方法更有效 以下是一个例子: 案例1 案例2 在渲染和内存消耗方面,什么更有效?显然情况2更有效。 如果您将图像转换为webp,效果会更好。Great不知道Android支持webp。像ImageKit这样的CDN web服务也很有用。我会把问题留在这里,也许有人做了一些测量。我的观点是,情况1对处理器更好,但对内存更差,

我想知道在渲染和内存消耗方面什么更有效

让我们假设一个图像总是可见的。 在一个布局中有3个图像并更改它们的可见性,或者以编程方式更改1个图像的imageResource,哪种方法更有效

以下是一个例子:

案例1


案例2


在渲染和内存消耗方面,什么更有效?

显然情况2更有效。 如果您将图像转换为webp,效果会更好。

Great不知道Android支持webp。像ImageKit这样的CDN web服务也很有用。我会把问题留在这里,也许有人做了一些测量。我的观点是,情况1对处理器更好,但对内存更差,情况2对内存更好,但对处理器更差。
<!-- View case 1 -->
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/img1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/img_1" />
    
    <ImageView
        android:id="@+id/img2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/img_2" />
    
    <ImageView
        android:id="@+id/img3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/img_3" />
</LinearLayout>
// Implementation Case #1
fun showImg2() {
    binding.img1.visibility = View.INVISIBLE
    binding.img2.visibility = View.VISIBLE
    binding.img3.visibility = View.INVISIBLE
}
<!-- View case 2 -->
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/img1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/img_1" />
</LinearLayout>
// Implementation Case #2
fun showImg2() {
    binding.img.setImageResource(R.drawable.img_2)
}