android中着色器文件的适当位置在哪里:资源、原始或其他位置?

android中着色器文件的适当位置在哪里:资源、原始或其他位置?,android,shader,Android,Shader,我做了一些搜索,但是没有找到。。。存储我的着色器文件的适当位置在哪里?资产、资源的原始文件夹,还是完全在其他地方 谢谢将着色器文件存储在资产文件夹中老实说,我两个都不会做。将它们存储在代码中可能是最安全的方法。(也就是说,在某个类中使用public static final String变量)我可能会在应用程序启动或类初始化时使用StringBuilder构建它们 如果您觉得存储文件本身更方便,请使用assets。使用res/raw对文件名有限制,并且不能使用raw中的子目录我过去使用过这两种方

我做了一些搜索,但是没有找到。。。存储我的着色器文件的适当位置在哪里?资产、资源的原始文件夹,还是完全在其他地方


谢谢

将着色器文件存储在资产文件夹中

老实说,我两个都不会做。将它们存储在代码中可能是最安全的方法。(也就是说,在某个类中使用
public static final String
变量)我可能会在应用程序启动或类初始化时使用
StringBuilder
构建它们


如果您觉得存储文件本身更方便,请使用
assets
。使用
res/raw
对文件名有限制,并且不能使用
raw
中的子目录我过去使用过这两种方法,而且都很好

一个要考虑的问题是,在任何时间点,您都要在库项目中使用此代码。如果是,我建议使用res/raw目录,因为资产对库项目有限制

从文件中:

库项目不能包含原始资产

这些工具不支持 在数据库中使用原始资产文件(保存在资产/目录中) 图书馆项目。应用程序使用的任何资产资源都必须 存储在应用程序项目本身的资产/目录中。 但是,支持保存在res/目录中的资源文件


我知道这归结于个人偏好和一些懒惰,但我只是不喜欢着色器插入java字符串时的外观。我也觉得我的代码会变得更加复杂,但我知道这只是个人喜好。@xtraorange是的,我有时也会有这种感觉。把你“包含”的东西放进代码本身会让人觉得很奇怪,所以我知道你在追求什么。在这种情况下,请记住第二段。我注意到,我在某个地方读到,资产速度较慢,资源更密集,因此我不确定是否值得交换子目录。很高兴知道。我知道有几种方法可以使用资产,为着色器读取资产的最佳方法是什么?如果您使用NDK,请查看。否则,我们应该采取行动。在这两种情况下,最终都会得到一个可用的类似字符串的对象,可以将其用作着色器。