4141public class ImageProcessingTest extends ActivityInstrumentationTestCase2 <ImageProcessingActivity > {
4242 private final String TAG = "ImageProcessingTest" ;
4343 private final String RESULT_FILE = "image_processing_result.txt" ;
44+ private int ITERATION = 5 ;
4445 private ImageProcessingActivity mAct ;
4546
4647 public ImageProcessingTest () {
@@ -63,9 +64,8 @@ public void tearDown() throws Exception {
6364 */
6465 @ LargeTest
6566 public void testImageProcessingBench () {
66- long t = mAct .getBenchmark ();
67- Log .v (TAG , "t = " + t );
68-
67+ long t = 0 ;
68+ long sum = 0 ;
6969 // write result into a file
7070 File externalStorage = Environment .getExternalStorageDirectory ();
7171 if (!externalStorage .canWrite ()) {
@@ -75,10 +75,18 @@ public void testImageProcessingBench() {
7575 File resultFile = new File (externalStorage , RESULT_FILE );
7676 resultFile .setWritable (true , false );
7777 try {
78- BufferedWriter results = new BufferedWriter (new FileWriter (resultFile ));
79- results .write ("Renderscript frame time core: " + t + " ms" );
80- results .close ();
78+ BufferedWriter rsWriter = new BufferedWriter (new FileWriter (resultFile ));
8179 Log .v (TAG , "Saved results in: " + resultFile .getAbsolutePath ());
80+ for (int i = 0 ; i < ITERATION ; i ++ ) {
81+ t = mAct .getBenchmark ();
82+ sum += t ;
83+ rsWriter .write ("Renderscript frame time core: " + t + " ms\n " );
84+ Log .v (TAG , "RenderScript framew time core: " + t + " ms" );
85+ }
86+ long avgValue = sum /ITERATION ;
87+ rsWriter .write ("Averge frame time: " + avgValue + " ms\n " );
88+ Log .v (TAG , "Average frame time: " + avgValue + " ms" );
89+ rsWriter .close ();
8290 } catch (IOException e ) {
8391 Log .v (TAG , "Unable to write result file " + e .getMessage ());
8492 }
0 commit comments