My purpose is for reduce memory usage\texture bandwith.
Which one is better?(for performance\memory usage\generation time\visual quality\compatibility and so on). - Assume the texture doesn't have alpha.
ETC1 usually provides the better image quality but it requires more time at startup. You can fight this by using http://www.jpct.net/jpct-ae/doc/com/threed/jpct/Config.html#cacheCompressedTextures (http://www.jpct.net/jpct-ae/doc/com/threed/jpct/Config.html#cacheCompressedTextures). Memory wise, it's the same as 16bit textures and so is performance (at least i have never noticed any difference). Compatibility is slightly lower than 16bit textures, because in theory, not all devices support ETC1. However, i never came across one that didn't.