在我的原生Android程序开始时,我从几K到几个meg(从大部分都在较小的一端)上几百块。在这个过程中,我得到了一个长而快的列表:
GC_FOR_ALLOC释放256K,10%免费9116K / 10044K,暂停10ms,总计10ms
我知道这是正常的行为,但如果可能的话,我想降低频率。在谈论应用发布时间时,10ms的延迟会很快加起来。我想知道是否有办法更积极地扩展堆,以避免一遍又一遍地做。也许是某种暗示机制?
我不希望提前猜测堆需要增长多少,然后用大量分配强制它(希望解决方案不是黑客)。最糟糕的是,我将使用不同的C ++分配器来更积极地扩展自由空间,但这将是一个混乱。有什么建议/建议吗?