我知道这可能是一个愚蠢的问题,但我的背景更多是c++和管理自己的内存。
目前,我正在尽可能地减少我的一个游戏中的每一个分配,以尝试降低垃圾回收和感知的“延迟”频率,因此,对于我创建的每个对象变量(例如String和Rect),我正在确保在构造函数中预先创建它,而不是在简单的10行函数中创建临时变量......(我希望这有意义)
无论如何,今晚我又做了一些工作,我意识到我的关于垃圾回收和原始类型(int、boolean、float)的假设可能是完全错误的。这些原始类型变量(比如int、float、boolean等)是否会在我每秒钟调用20次的10行函数中创建,从而加重了垃圾回收问题呢?
所以,一年前我每隔几秒钟就会在logcat中看到一条消息,像这样:
GC freed 4010 objects / 484064 bytes in 101ms
现在我大约每15-90秒左右才会看到这个消息......
那么重新表达我的问题:当看到这条消息时,原始类型(int、float、boolean等)是否被包括在内?