首次调用 Glide 负载较慢

First call to Glide load is slower

提问人:Josemafuen 提问时间:8/16/2023 更新时间:8/16/2023 访问量:21

问:

我有一个应用程序,可以在回收器视图中加载图像。为了使其流畅,使用 Glide 加载图像。我注意到的是,例如,对 Glide 的第一次调用

Glide.with(ctx).load(R.drawable.img).into(imageView)

速度较慢。我所说的较慢并不意味着图像的加载速度较慢,而是对主线程中方法的调用本身(好像第一次调用意味着一些初始化)。我是这样测量的:

long ini = System.currentTimeMillis();
Glide.with(ctx).load(R.drawable.img).into(imageView)
Log.e(TAG, "Elapsed time: " + (System.currentTimeMillis()-ini));

第一次通话持续大约 30 毫秒,从那时起,甚至不需要 1 毫秒。这并不多,但有时 UI 线程中的小延迟是显而易见的。对此有任何猜测或解决方法吗?现在,我的解决方法是在后台线程中提前加载一个非常小的可绘制对象,如下所示:

AsyncTask.execute(() -> Glide.with(getApplicationContext()).load(R.drawable.particle));

它有效,但对我来说似乎有点丑陋。

android-asynctask imageview android-glide

评论


答: 暂无答案