Androidメモリ管理に関するTips

android-memory-tips.png

booleanの配列は無駄 BitSetを使用せよ

boolean型は一つ1ビットのくせに配列にすると、1要素につき8ビットも割り当てられてしまうのだ。
なので

boolean b[]=new boolean[100];//100byteではなく800byte割り当てられる

やるならBitSetクラスを使うべき。こちらのクラスを使えば1要素は1bitにちゃんとなるし、
インデックスで参照できる
でもしかし、もっとパフォーマンスが向上できる要素がBitSetクラスには残っているのだ

BitSetクラスはlongで実装されている。int型を使えばもっと高速になれる

public class SimpleBitSet{
    private static final int WSIZEOFF_INT=32;
     private static final int OFFSET_MASK=SIZEOF_INT-1;//0x1F
}

サポートサイト Wikidot.com