包含图片按钮的活动加载时间过多

时间:2018-07-01 09:52:10

标签: android android-image

enter image description here

我有一个包含50多个图片按钮的活动。每个图像约为30-40 kb。当我打开Acitivity时,需要2-3秒。 我该怎么办才能快速打开它。

   <Button
                        android:id="@+id/desi_unique"
                        android:layout_width="match_parent"
                        android:layout_height="70dp"
                        android:layout_margin="5dp"
                        android:background="@drawable/unique"
                        android:gravity="bottom|right"
                        android:paddingBottom="10dp"
                        android:paddingRight="5dp"
                        android:text="@string/unique"
                        android:textColor="@color/black"
                        android:textSize="15sp" />

3 个答案:

答案 0 :(得分:2)

简单的答案:缓存那些图像。

如果您要使用Drawables,请尝试COMPRESSING THOSE IMAGES.

如何?

使用Google.inc的名为Glide的库。它将自动为您缓存图像。 当然,每当您第一次加载该活动时,都会花费一些时间,但是一旦将其缓存在内存中,那么下次启动该活动就不会花费很多时间。

免责声明:以上声明的范围仅限于您的应用程序的一次启动。一旦您杀死了应用程序,就必须再次加载它们。

但是,加载这么多的图像(来自可绘制对象)不是一个好习惯,它会极大地影响应用程序的性能。因此,您应该更改UI。

但是同样,Recycler View在加载/显示这么多图像时听起来是一个更好的选择。

答案 1 :(得分:1)

使用第三方库(例如Glide或Picasso)非常有效。我认为,当图像数量超过50个时,您可以更改应用程序UI并也使用recyclerView。我认为这是更好的方法。

答案 2 :(得分:1)

您可以将RecyclerView与GridLayoutManager一起使用以具有相同的UI,并且当然可以使用诸如Fresco之类的第三方库之一。