dalvik VM伝説

・10秒に1回のFull GCは当たり前。1秒に1回Full GCすることも
・起動と同時にFull GCを連発
・dalvikにとってGC_FOR_ALLOCは一時オブジェクトの確保しそこない
・BitmapFactoryをひと睨みするだけでGC_FOR_ALLOCで止まる
・あまりにFull GCするからGC_CONCURRENTでも止まってない扱い
・オブジェクト1個の生成時間が3フレームに見える
・グッとガッツポーズしただけで5フレームくらい止まった
・1オブジェクト生成で1Full GCはザラ、2回Full GCすることも
・Androidフレームワークが自分で作った一時オブジェクトでFull GCするというファンサービス
・画面タッチと同時にFull GCし、1GHz CPUを追い抜きフレーム落ち成功
・2フレームスキップのFull GCが起こった次の瞬間気づいたらGC_EXTERNAL_ALLOCしていた
・2011年アメリカ10大事件 第一位「Dalvik VMでGC_CONCURRENT発生」

これだけGC様のご機嫌を伺いながらトリッキーなコード書かされるとC++の方が生産性高いんじゃないかと本気で思うことがある

トラックバック(0)

トラックバックURL: http://www.narazaki.info/diary/mt-tb.cgi/396

コメントする