Drawcalls reduction

First of all, sory for my poor eng.

I have a scene with hundreds of cubes. Each cube is an instance of 1 prefab, so all cubes share 1 material, but every cube use different texture (10 textures in total). I apply this textures by the script:

gameObject.renderer.material.SetTexture("_MainTex", standartTexture);

It generates as many materials as total cubes count and as a result I have a lot of drawcalls. I think about creating of 10 prefabs (1 prefab = 1 cube + 1 material with unique texture) and it should reduce drawcall count.
I create game for android/ios. Will it improve performance?

Yes, do that. If you change a material in run time using code it’ll generate a new material, using 10 prefabs with different textures will solve your problem