我注意到,如果找不到匹配的资源,android会为替代资源做一些额外的工作。
例如:
我将一些图像(大小:640x960)放入drawable-hdpi
文件夹,而drawable-xxhdpi
文件夹中没有。
使用decodeResource()
加载图片:
BitmapFactory.decodeResource(imageView.getResources(),
imageRes,mBitmapFactoryOptions);
在xxhdpi屏幕手机(nexus 5)上,该方法需要额外30-50毫秒才能执行;除了hdpi屏幕手机(三星I9100)。
加载一张图片时并不是什么大不了的事,但是在创建逐帧动画时它会产生很大的不同。
我检查了screens_support,但不知道android系统做了什么以及如何避免它。
感谢您提供进一步的帮助。
答案 0 :(得分:0)
如果您的设备没有资源,但有一个用于其他屏幕的资源,可以适应您的设备,Android会对其进行调整。对于drawables,Android会根据您的DPI / imageDPI比例重新调整图像。这就是为什么加载drawables会变慢的原因。您可以使用分析器验证并密切观察加载任务。
为避免这种情况,您必须为计划使用的所有屏幕配置提供图像,或使用资源文件夹手动加载图像。