只是想听听关于这个问题的一些建议,加载屏幕到底是什么?我唯一能想到的是图像和对象(类),但这都是在我的构造函数中完成的,即使是在速度较慢的手机上,也几乎是瞬间完成的。
当最初加载屏幕(所有图像都在屏幕上)时,每秒的帧数可能会急剧下降(所有图像都在屏幕上),但在一秒钟左右之后,FPS将恢复到60 (因此加载某物需要几秒钟时间)。看看Logcat,"Adapter“类中有一些东西正在加载过程中,所以我想这可能会导致FPS的初始下降,但是如何预加载呢?
我正在做一个Android游戏。
希望这个问题是有意义的,并提前感谢!
LogCat实例
08-23 17:19:24.769: WARN/Addapter(1460): info.icon:2130837504
08-23 17:19:24.769: WARN/Addapter(1460): info.icon:2130837527
08-23 17:19:24.769: WARN/Addapter(1460): info.icon:2130837508
08-23 17:19:24.769: WARN/Addapter(1460): info.icon:2130837564
08-23 17:19:24.769: WARN/Addapter(1460): info.icon:2130837564
08-23 17:19:24.779: WARN/Addapter(1460): info.icon:2130837513发布于 2011-10-03 21:18:05
不太清楚你要的是什么,但我试试看。
一个加载屏幕基本上只是‘加载’。它可以加载你想要的任何东西,比如图片,游戏的地图,音乐,着色器,网格,配置等等。你显然不想在游戏中加载东西。您并不总是需要一个实际的加载屏幕,特别是如果您的游戏没有那么多的资产。您只需从UI线程加载它们,那么所有的东西都会冻结,因为它不会花费那么长的时间,而且在加载过程中任何人都不应该做任何事情。
至于FPS的急剧下降,这可能只是垃圾收集器在加载过程中清理一些被遗忘的对象。看看logcat,看看在冻结过程中是否会看到类似"GC_CONCURRENT“的东西。那是gc(垃圾收集器)。除了密切关注你的分配和跟踪你所有的参考资料之外,你真的无能为力。
但是现在看看你的日志,我不得不问什么是"Addapter"?您是复制并粘贴了这些日志,还是手工编写了这些日志,并且意外地添加了一个额外的d?如果您正在使用第三方库或其他东西,那么发布这些信息将是有用的,因为它们可能有自己的信息,从而导致fps的急剧下降。
https://stackoverflow.com/questions/7163465
复制相似问题