0

我正在使用 Andengine 开发动态壁纸,我知道在某些设备中,纹理图集允许的最大尺寸为 1024*1024.I,我喜欢创建尺寸为 1280 *800 的背景图像。想知道这将支持所有设备吗?

提前感谢所有建议和想法

4

1 回答 1

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));
}
于 2013-06-14T17:53:06.873 回答