之前自己编写了一个android程序,界面比较花哨,添加了很多的资源。程序编写好后在虚拟机上出现了异常错误,之后下载到moto me525那个经典的三防手机上,运行是成功的。但是将程序下载到三星S3上,运行出现异常,和虚拟机上的问题类似,在点击一个按钮进入新的activity时,背景的图片加载出现问题(调试的时候查出的问题点),程序直接跳出来了,具体出错的语句实质上是界面的xml文件中的背景设置,如下:
andorid:background="@raw/back0"
自己很纳闷的不断测试,发现只要加载res/raw文件夹中4张图片后就会出错,反复加载4张以下图片就不会发生问题,可以推断是缓存加载的大小受限制的问题,而且res/raw文件夹中有很多声音元素文件,虽然很大,但是无论如何加载都不会出错,这说明某些手机系统只对加载res/raw文件夹中的图片有限制,网上也发现有网友遇到同样的问题,其发生的具体原因和机制还不是很清楚。
最后我的解决方法是,把一部分图片放在res/drawable文件夹下面,就是路径换了一下,如下图,之后再同时加载就不会出现错误了,这个方法仅供参考,可以实现意图,但并没有解决机理上的问题。