有关该应用的一些信息:
该应用程序在可绘制文件夹中包含大量图像。 每张图片的大小在 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/