java - 安卓游戏性能

标签 java android performance

我为安卓编写了一个游戏。对于每一帧,我都使用相同的程序。

所以我的游戏运行流畅,但有时游戏会卡住。我在methods中用deltaTimes搜索了一下,发现问题不大。

在图片中,帧之间的 deltaTime:frame time你可以看到山峰。在高峰之间,游戏运行流畅。

所以我要问你的问题是,你知道 eclipse 中的探查器或类似工具可以找到峰值的原因吗?或者您知道一个提供 Android 游戏开发性能提示的网站吗?
垃圾收集器不是它,因为在调试控制台中消息不会出现。

//编辑1: 在搜索更多性能提示后,我添加了一个自定义主题类:

<resources>
    <style name="Theme.NoBackground" parent="android:Theme">
        <item name="android:windowBackground">@null</item>
    </style>
</resources>

这给了我更好的表现,但仍然有一个高峰。 second performance test

最佳答案

这些类型的尖峰的最大原因之一是当垃圾收集开始时。如果你说了一个气泡数组列表,并且每个气泡都包含一个图像,你会使用一个池系统来重用气泡而不是让垃圾收集器收集,这会导致这些尖峰。

游戏运行时应避免垃圾收集, Assets 应在游戏开始时加载。

这里有些文章可能对你有用..

Avoid using the enhanced for-loop for ArrayLists in Android games

Object pooling for android gaming

关于java - 安卓游戏性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22478478/

相关文章:

vb.net - 有没有更快的方法将位图像素转换为灰度?

java - 算法:计算请求数

java - 是否可以在 JavaFX 的表格内的组合框中显示不断变化的数组列表?

java - 输入验证(do-while 循环)出现故障

java - com.parse.ParseRequest$ParseRequestException : unauthorized

android - 带有未读消息计数器和最后一条消息的 Google Firebase 实时数据库架构的聊天消息

windows - CPU 使用率最高的进程的名称

java - 加载 java 库时遇到问题

android - 无法在 Android 中使用 Universal Image Loader 检索图像

php - 用于可扩展性的宾果游戏数据库表示