java - 纹理加载: Everything at once OR un-/loading the needed assets?

标签 java android opengl-es opengl-es-2.0 andengine

我们一直在AndEngine的基础上开发一个相当大的Android游戏。所以我们有很多资源需要加载,尤其是纹理。

目前,每个屏幕(菜单、商店等)的所有内容(声音、纹理等)都会在应用程序启动时加载(同时显示进度条)。这样用户在游戏开始时只需等待一次约16秒。我们认为从用户的角度来看,这是一个非常令人愉快的解决方案,但在电池使用/内存使用或任何其他原因方面可能会很糟糕吗?

什么论点代表了我们卸载 Activity 屏幕的所有屏幕特定资源并加载下一个屏幕所需的资源的解决方案?

最佳答案

在我看来,最好的方法是“延迟加载”,即仅在需要时才加载资源。这样,您就不会让用户等待他不会使用的资源。所以我所做的是,当应用程序启动时,我在打开的初始屏幕期间加载菜单的资源,当用户进入播放场景时(例如),我卸载菜单资源(从而清除内存),并加载在另一个不同的加载启动画面期间,游戏序列的相关资源。这样,总的来说,用户等待的时间最短,并且内存仅加载所需的资源。

此外,从用户的角度来看,我认为等待整个应用程序加载可能会很烦人,而您只想向 friend 展示您达到的分数。

关于java - 纹理加载: Everything at once OR un-/loading the needed assets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28548330/

相关文章:

java - 如果 for 循环中断,为什么我会收到死代码警告?

java - JDBC无法连接到openshift上的mysql数据库

android - 屏幕旋转更改设置

android - 如果用户卸载应用程序,他们是否会失去应用内购买?

android - Nexus One GL_FRAMEBUFFER_OES 扩展...实际上不存在?

Java javax.swing.Timer 在新线程上运行吗?

java - 在 python 和 java 中设置线程关联

Android软菜单重叠屏幕

ios - 将颜色应用于片段着色器中的 OpenGL ES 2.0 点 Sprite 纹理?

java - 从 onSurfaceCreated 使用时 AsyncTask 崩溃