当前位置: 首页 > 知识库问答 >
问题:

如何修改我的APP/游戏,让它能够快速加载?

令狐唯
2023-03-14

我使用类a创建了一个简单的游戏,它扩展了SurfaceView并实现了Runnable。在游戏中,绘图是在公共空运行内完成的。activity一发射就会被线程锁定。游戏需要很多时间(有时10-15秒)来加载。以及当游戏暂停(thread.join())和恢复(thread=新线程(this);thread.start())时,都需要太多的时间。是什么原因导致游戏加载缓慢?解决办法是什么?

共有1个答案

郑功
2023-03-14

最常见的原因是资源负载。

I/O操作非常慢,因此,如果在实际绘制之前尝试加载所有位图,这可能会在实际开始绘制之前导致显著的延迟。

避免这种情况的一个策略是在实际需要开始使用资产之前预加载资产。很多游戏都是在所谓的闪屏中这样做的。此外,不要太快地回收您的资产和释放他们正在使用的内存。这意味着您将需要在下次启动时重新加载它们。

总体而言,没有确切的方法来实现它--在加载时间和内存消耗之间存在一个不断的权衡。您只需要进行试验,看看什么最适合您的用例。

请确保配置您的应用程序,检查对象创建和内存分配调用使用您的IDE。大多数时候,你可以很容易地找出问题的原因。

 类似资料:
  • 本文向大家介绍MySQL如何快速修改表的表结构,包括了MySQL如何快速修改表的表结构的使用技巧和注意事项,需要的朋友参考一下 快速修改MySQL某张表的表结构--摘录自《MySQL管理之道》 这个命令可以修改表结构 此外,也可以如下方法修改表结构: 先创建一张表,如下: 如果要修改name列为varchar(10)的,可以这样操作: 也可以如下操作: 1、查看表结构,如下: 2、创建临时表,把v

  • 问题内容: 使用cPickle读取一个1 GB的NetworkX图形数据结构花了我一个小时的时间(将它作为二进制pickle文件存储在磁盘上时为1 GB)。 请注意,文件会快速加载到内存中。换句话说,如果我运行: 如何加快上一个操作的速度? 请注意,我已经尝试使用两种二进制协议(1和2)对数据进行腌制,并且似乎对使用哪种协议并没有太大的影响。还要注意,尽管我在上面使用“ loads”(意思是“ l

  • 我正试图创建一个游戏,目前我正试图添加声音,但由于缺乏经验,我没有这样做,所以我请求你的帮助。如何在游戏中添加背景歌曲?

  • 本文向大家介绍如何快速修改MySQL用户的host属性,包括了如何快速修改MySQL用户的host属性的使用技巧和注意事项,需要的朋友参考一下 当你远程登录MySQL时,使用的账号要有特殊要求。 默认的账号的host属性都是localhost,意思是这个账号只能本地使用,如果要使用某个账号来远程登录,必须将账号的host属性值更改成%。 执行的sql语句如下: 补充:mysql 修改root密码

  • 我已将添加到AppDependencies中,但当我运行play update时,我得到: [信息]正在更新{file:/users/levinotik/dev/scala/throw-away/myfirstapp/}myfirstapp...[warn]找不到模块:com.google.gson#gson;2.1.0 [warn]====local:尝试过[warn] /users/levin