byte[] data = new byte[] {0xEF, 0xBB, 0xBF};
の配列にを一致条件分岐すると

if (data[0] == 0xEF && data[1] == 0xBB && data[2] == 0xBF) {
// Xperia AX:通る
// Xperia Acro:通らない
}
if (data[0] == (byte)0xEF && data[1] == (byte)0xBB && (byte)data[3] == 0xBF) {
// Xperia AX:通る
// Xperia Acro:通る
}

みたいな端末による差が出てくるんだけど、同じAndroidバージョンでこんな差がでる理由ってなんなんだろう?
端末ごとの処理系とか違うもんなんだろうか