GLESで3D描画しています。

オブジェクトの移動回転について、
Matrix.scaleM();
Matrix.rotateM();
Matrix.translateM();
の順でやるのがセオリーだと思いますが、これでは上手く行かず
Matrix.translateM();
Matrix.rotateM();
Matrix.scaleM();
だと思ったように描画されます。これはどうしてでしょうか?