In case you develop applications for Android you should try out the TimingLogger class. Take a look at this article describing the usage of the TimingLogger helper class.
if you don't want to use external tools, but a very standard way, to measure elapsed time, you must use System.nanoTime(). You shouldn't use currentTimeMillis, because it measures wall-clock time ans, as no computer's clock is perfect (them all occasionally needs to be corrected) there's a process that runs and continually issues small corrections to the system clock. Not to mention the leap second correction.
Although currentTimeMillis is often used, it's still incorrect to measure elapsed time and timing. Anyhow, as the invocation takes some time, you should not expect to correctly time very very small intervals. But that shouldn't be an issue working with Android.
I'll show you an example:
long startTime = System.nanoTime();
// run/call the method
long endTime = System.nanoTime();
long diff = endTime - startTime ;
System.out.println("Elapsed milliseconds: " + diff /1000000);