我正在使用Andengine开发动态壁纸,我知道在某些设备中,纹理图集允许的最大尺寸为1024 * 1024.I和我喜欢创建大小为1280 * 800的背景图像。 想知道这会支持所有设备吗?
感谢所有建议和想法
答案 0 :(得分:2)
没有。你不能这样做。
另外,你不应该。一个巨大的动态壁纸将使一个设备运行缓慢,如果它吃掉所有的记忆。您应该选择适合该设备的背景图像大小。
看看android如何处理/ resources文件夹中的图像选择。它为不同的显示器使用不同大小的图像:
http://developer.android.com/guide/practices/screens_support.html
这是您在所有移动开发中应遵循的明智的最佳做法:尽可能使用最少的内存。尽可能合理地将您的内容定制到设备功能。
在移动开发中,“一刀切”实际上是一刀切。
这是一个可能适合您的策略 在创建引擎时获取显示宽度和高度,然后根据该结果选择合适大小的背景。
public Engine onLoadEngine() {
final Display display = getWindowManager().getDefaultDisplay();
int cameraWidth = display.getWidth();
int cameraHeight = display.getHeight();
String deb = String.format("Screen: %d / %d",cameraWidth,cameraHeight);
Log.d("Debug:", deb);
this.mCamera = new Camera(0, 0, cameraWidth,cameraHeight);
return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE,
new RatioResolutionPolicy(cameraWidth, cameraHeight), this.mCamera));
}