raw和assets的区别

底层原理:

    1:相同点:

        raw和assets下的资源文件会原封不动地保存到APK安装包中,不会像其他资源一样会被编译成二进制的形式保存到APK中;

    2:不同点:

        raw资源文件会在R.java中生成相应的ID标记,使用的时候直接通过id去获取; assets中的资源文件不会生成相应的标记,获取的时候,要通过AssetManager来获取;

        assets资源文件中可以再创建目录,也就是说assets下可以有其它的文件目录,而raw下不可以有其它文件目录;

获取的方式:

    raw资源文件的获取:InputStream is = getResources().openRawResource(R.id.FILENAME);  

    assets资源文件的获取:AssetManager assetManager=this.getAssets();InputStream is=assetManager.open("farsight/aa.txt");


你可能感兴趣的:(raw和assets的区别)