Em primeiro lugar, assumirei que sua versão da min api é menor do que a api que você vai chamar, porque é aí que esse tipo de anotação faz sentido
@RequiresApi(Build.VERSION_CODES.N_MR1)
public void hello() { // codes that call system apis introduced in android N_MR1}
Quando um método é anotado com isso, sempre que você chama esse método, você recebe um bom aviso vermelho de que esta chamada requer uma versão da API superior à sua versão da API mínima, mas isso não o impede de compilar e construir seu apk. irá apenas travar em versões anteriores do Android enquanto o testei.
@TargetApi
Isso não ajuda em nada, ele suprime avisos de chamada de novos apis em seu método, mas quando você chama esse método de outro lugar, não há nenhum aviso de lint e você ainda pode construir e instalar seu apk apenas para atender a um travar quando esse método for chamado.