我一直在为Android游戏进行开发和调试,使用N1进行调试。一开始性能不稳定。然后我开始清理所有的分配以防止垃圾回收。这大大改善了情况,但我仍然看到一些垃圾回收导致动画中出现非常短暂的暂停。
在一段时间里我非常苦恼,然后我注意到执行垃圾回收(GC_FOR_MALLOC)的进程ID不是我的进程ID。这些进程ID属于“Android System”和android.process.acore(通过使用市场上的“Android System Info”应用程序确定)。acore进程与名为数字时钟的桌面小部件相关联。我卸载了小部件,并几乎完整地完成了游戏而没有任何暂停。仅有一个非常短暂的暂停是由于“Android System”的GC引起的。
抱歉解释这么长,现在是我的问题:
谢谢。
在一段时间里我非常苦恼,然后我注意到执行垃圾回收(GC_FOR_MALLOC)的进程ID不是我的进程ID。这些进程ID属于“Android System”和android.process.acore(通过使用市场上的“Android System Info”应用程序确定)。acore进程与名为数字时钟的桌面小部件相关联。我卸载了小部件,并几乎完整地完成了游戏而没有任何暂停。仅有一个非常短暂的暂停是由于“Android System”的GC引起的。
抱歉解释这么长,现在是我的问题:
- 其他游戏如何做到不会因系统进程的GC(开发者无法控制的事情)而偶尔暂停?
- 在第一个问题的基础上,我该如何处理其他应用程序引起的GC,从而降低我的进程速度并导致游戏出现问题?
谢谢。