我正在使用 Andengine 开发动态壁纸,我知道在某些设备中,纹理图集允许的最大尺寸为 1024*1024.I,我喜欢创建尺寸为 1280 *800 的背景图像。想知道这将支持所有设备吗?
提前感谢所有建议和想法
不,你不能那样做。
另外,你不应该。如果一个巨大的动态壁纸耗尽了它的所有内存,它会使设备运行缓慢。您应该选择适合设备的背景图像大小。
看看 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));
}