Cambiar la prioridad del hilo no tiene efecto

Estoy tratando de cambiar la prioridad del hilo principal usandoandroid.os.Process.setThreadPriority(). Tengo mensajes de registro antes y después del cambio de prioridad, aquí está el código:

public class TestActivity extends Activity {
    public final String TAG="TestActivity";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        int tid=(int)Thread.currentThread().getId();
        Log.d(TAG,"priority before change = " + android.os.Process.getThreadPriority(tid));
        Log.d(TAG,"priority before change = "+Thread.currentThread().getPriority());
        android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_DISPLAY);
        Log.d(TAG,"priority after change = " + android.os.Process.getThreadPriority(tid));
        Log.d(TAG,"priority after change = " + Thread.currentThread().getPriority());
    }
}

Y obtengo el siguiente resultado:

priority before change (getThreadPriority) = 0
priority before change (currentThread().getPriority) = 5
priority after change (getThreadPriority) = 0
priority after change (currentThread().getPriority) = 5

Significa que la prioridad no cambió, sea cual sea el método que use para evaluarla. @android.os.Process.THREAD_PRIORITY_DISPLAY = -4, así que después de cambiar mi salida debería ser igual a -4, ¿por qué sigue igual? Por quéandroid.os.Process.setThreadPriority() ¿no tiene efecto

PD. Leí documentos de Google sobre hilos, pero no encontré ningún problema que explicara la diferencia entreandroid.os.Process.getThreadPriority() yThread.currentThread().getPriority(). ¿Por qué estos métodos devuelven valores diferentes?

P.P.S. @Thread.currentThread().setPriority() funciona bien

Respuestas a la pregunta(2)

Su respuesta a la pregunta