gpt4 book ai didi

Android- BitmapFactory.decodeFile 让我的应用变慢

转载 作者:行者123 更新时间:2023-11-29 21:15:55 24 4
gpt4 key购买 nike

我正在编写带有 ActionBar 选项卡和 ViewPager 的应用程序。我有两个标签和两个页面。第一页只是 Fragmet,第二页是 ListFragment。

在第一页中,我正在反转有关平台的信息,例如名称、水之间的间隔、照片等。我可以添加默认照片(来自资源)并拍摄植物照片。然后我以两种方式将照片的数据保存在数据库中,例如 String:来自资源的图像 ID 或保存照片的路径。

第二页 (ListFragment) 是带有自定义适配器的 ListView,但存在问题。一行列表包含两个 TextView,CheckBox 和 ImageView。

在我的自定义适配器的 getView 方法中,每一行都工作正常,但将文件解码为位图需要花费大量时间,这使我的应用程序运行缓慢,即使在解码所有照片之后也是如此。

我的代码是在每个列表行中设置一个图像:

private void setUpImage(int position, ImageView photo)
{
if(plants.get(position).getPhoto().contains("jpg"))
{
BitmapFactory.Options options = new BitmapFactory.Options();

options.inSampleSize = 10;

Bitmap bitmap = BitmapFactory.decodeFile(plants.get(position).getPhoto(), options);

photo.setImageBitmap(bitmap);
}
else
{
photo.setImageResource(Integer.parseInt(plants.get(position).getPhoto()));
}
}

有谁知道如何在我的 ListView 的每个列表行中提高解码和设置图像的速度?

最佳答案

首先!设置 options.inSampleSize = 10; 要大得多。通常,inSampleSize 以 2 的幂提供。将其设置为等于 2 或 4 即可。

您可以在后台线程中解码文件,也可以使用延迟加载技术。

您可以获得延迟加载代码 here .参见 this回答。

关于Android- BitmapFactory.decodeFile 让我的应用变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21464279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com