我试图以递归方式加载我放置在项目中“assets”文件夹中的所有资产.当我执行以下操作时:
AssetManager assetManager = getResources().getAssets(); String assets[] = assetManager.list("");
并检查哪些字符串被加载到资产数组中,我找到了我放在指定文件夹中的资产,以及字符串“images”,“sounds”和“webkit”.有人知道为什么吗?
有关背景信息(尚不知道它是否适用),我的资产是包含完整html网页的zip文件,我用它来加载到WebViews中.
解决方法
我也注意到了这一点.以下是放置在这些目录中的一些资产:
webkit/play.png webkit/nullPlugin.png webkit/missingImage.png webkit/android-weberror.png sounds/bootanim1.raw images/comoBox-disabled.png images/comoBox-noHighlight.png
我的猜测是系统依赖于这些资产存在于所有.apk文件中.但是,Android不是通过构建它们(这将增加所有.apk文件的大小),而是通过资产API模拟它们.
此外,作为副作用,您可以使用与内置资源同名的任何自定义资产覆盖此资产.并不是说这可能太有用了,但这是可能的.