Respuestas:
INVISIBLE:
Esta vista es invisible, pero aún ocupa espacio para fines de diseño.
IDO:
Esta vista es invisible y no ocupa espacio para el diseño.
display:noney visibility:hiddenen HTML / CSS :-)
De la documentación puedes decir que
View.GONE Esta vista es invisible y no ocupa espacio para el diseño.
View.INVISIBLE Esta vista es invisible, pero aún ocupa espacio para propósitos de diseño.
Vamos a aclarar la idea con algunas fotos.
Suponga que tiene tres botones, como a continuación

Ahora, si configura la visibilidad del Botón Dos como invisible ( View.INVISIBLE), la salida será

Y cuando configura la visibilidad del Botón Dos como desaparecida ( View.GONE), la salida será

Espero que esto aclare tus dudas.
Me gustaría agregar a las respuestas correctas y exitosas, que si inicializa una vista con visibilidad como View.GONE, la vista podría no haberse inicializado y obtendrá algunos errores aleatorios.
Por ejemplo, si inicializa un diseño como View.GONEy luego intenta iniciar una animación, desde mi experiencia, tengo mi animación trabajando aleatoriamente. Aveces si aveces no.
Entonces, antes de manejar (cambiar el tamaño, mover, lo que sea) una vista, debe iniciarla como View.VISIBLEo View.INVISIBLErepresentarla (dibujarla) en la pantalla y luego manejarla.
GONE
cuando lo hace Desaparecido cada vez que se compila el programa, el componente se inicializa, lo que significa que está eliminando el componente del diseño y cuando lo hace invisible, ocupará el mismo espacio en el diseño, pero cada vez que no necesite inicializarlo .
si configura Visibility = Gone, entonces debe inicializar el componente ... como
por ejemplo, Botón _mButton = botón nuevo (esto);
_mButton = (Botón) findViewByid (R.id.mButton);
por lo que llevará más tiempo en comparación con Visibilidad = invisible.
View.INVISIBLE -> La vista es invisible pero ocupará algo de espacio en el diseño
View.GONE -> La vista no es visible y no ocupará ningún espacio en el diseño