android - getResources().getIdentifier() 方法是否足够有效以在 ListView 中使用它?

标签 android listview drawable android-resources

有关该应用的一些信息:

该应用程序在可绘制文件夹中包含大量图像。 每张图片的大小在 1kb 到 3kb 之间。 我需要将它们绘制到 ListView 中。

我需要得到的:

我需要将图像的标识符 (R.drawable.my_image) 与一些其他用户信息一起存储到数据库中。

问题:

当我更新应用程序(添加新的图像资源)时,标识符可能会更改。因此,在数据库中我将​​有一个过时的标识符,它链接到一个不存在的资源。

我想将资源名称而不是资源标识符存储在数据库中,我将通过getResources().getIdentifier(String , 字符串, 字符串) 方法。但我不知道这种方法是否足够有效,可以在 ListView 中使用它。 文档说 注意:不鼓励使用此功能。通过标识符检索资源比通过名称检索资源效率更高。

你知道其他解决方案吗?

最佳答案

最后我使用 getResources().getIdentifier() 方法将图像加载到列表中(使用 recyclerview)。我的列表有大约 20 张图像。平均大小也小于 3kb。我已经在旧设备上尝试过该应用程序(其行为可能会受到他的 CPU 的影响)并且运行良好。我知道不推荐使用此方法,但可以作为解决方案。

关于android - getResources().getIdentifier() 方法是否足够有效以在 ListView 中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43914176/

相关文章:

具有网络图像缓存的Android Listview

android - 如何制作进度圈

android - 以编程方式创建进度图

android - Android 2.2 上的 Bitmap.createBitmap() 问题

java - 实现一个基于Android/java的应用程序,该应用程序需要一个音频文件并生成该音频文件的Guitar选项卡?

java - 设置自定义 ListView 图像时出错

安卓 : creating drawables with CSS input

android - 看中 Android 菜单按钮布局

android - ContextWrapper.getResources() 中的 NullPointerException

java - 如何在 ListView 中传递所选行的 id 并在另一个 Activity 中获取行的值,值存储在 sqlite 数据库中