package com.aviyehuda.tests.arraycopy; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class ArrayCopyTestActivity extends Activity { private static final int SIZE_OF_ARRAY = 1000000; private long time; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Integer [] sourceArray = new Integer[SIZE_OF_ARRAY]; Integer [] dst = new Integer[SIZE_OF_ARRAY]; fillArray(sourceArray); startBenchmark(); naiveCopy(sourceArray,dst); stopBenchmark(); startBenchmark(); System.arraycopy(sourceArray, 0, dst, 0, sourceArray.length); stopBenchmark(); } private void naiveCopy(Integer [] src, Integer [] dst) { for (int i = 0; i < src.length; i++) { dst[i]=src[i]; } } private void fillArray(Integer [] src) { for (int i = 0; i < src.length; i++) { src[i]=i; } } private void startBenchmark() { time = System.currentTimeMillis(); } private void stopBenchmark() { time = System.currentTimeMillis() - time; Log.d("array copy test", "time="+time); } }