Home | History | Annotate | Download | only in dynamic
      1 /*
      2  * Copyright (C) 2014 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
      5  * in compliance with the License. You may obtain a copy of the License at
      6  *
      7  * http://www.apache.org/licenses/LICENSE-2.0
      8  *
      9  * Unless required by applicable law or agreed to in writing, software distributed under the License
     10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
     11  * or implied. See the License for the specific language governing permissions and limitations under
     12  * the License.
     13  */
     14 package com.android.test.dynamic;
     15 
     16 import android.app.Activity;
     17 import android.content.res.Resources;
     18 import android.graphics.drawable.VectorDrawable;
     19 import android.os.Bundle;
     20 import android.widget.TextView;
     21 import android.widget.Button;
     22 import android.widget.GridLayout;
     23 import android.widget.ScrollView;
     24 
     25 import java.text.DecimalFormat;
     26 
     27 @SuppressWarnings({"UnusedDeclaration"})
     28 public class VectorDrawablePerformance extends Activity {
     29     private static final String LOGCAT = "VectorDrawable1";
     30     protected int[] icon = {
     31             R.drawable.vector_drawable01,
     32             R.drawable.vector_drawable02,
     33             R.drawable.vector_drawable03,
     34             R.drawable.vector_drawable04,
     35             R.drawable.vector_drawable05,
     36             R.drawable.vector_drawable06,
     37             R.drawable.vector_drawable07,
     38             R.drawable.vector_drawable08,
     39             R.drawable.vector_drawable09,
     40             R.drawable.vector_drawable10,
     41             R.drawable.vector_drawable11,
     42             R.drawable.vector_drawable12,
     43             R.drawable.vector_drawable13,
     44             R.drawable.vector_drawable14,
     45             R.drawable.vector_drawable15,
     46             R.drawable.vector_drawable16,
     47             R.drawable.vector_drawable17,
     48             R.drawable.vector_drawable18,
     49             R.drawable.vector_drawable19,
     50             R.drawable.vector_drawable20,
     51             R.drawable.vector_drawable21,
     52             R.drawable.vector_drawable22,
     53             R.drawable.vector_drawable23,
     54             R.drawable.vector_drawable24,
     55             R.drawable.vector_drawable25,
     56             R.drawable.vector_drawable26,
     57             R.drawable.vector_drawable27,
     58             R.drawable.vector_drawable28,
     59     };
     60 
     61     @Override
     62     protected void onCreate(Bundle savedInstanceState) {
     63         super.onCreate(savedInstanceState);
     64         ScrollView scrollView = new ScrollView(this);
     65         GridLayout container = new GridLayout(this);
     66         scrollView.addView(container);
     67         container.setColumnCount(5);
     68         Resources res = this.getResources();
     69         container.setBackgroundColor(0xFF888888);
     70         VectorDrawable []d = new VectorDrawable[icon.length];
     71         long time =  android.os.SystemClock.elapsedRealtimeNanos();
     72         for (int i = 0; i < icon.length; i++) {
     73              d[i] = VectorDrawable.create(res,icon[i]);
     74         }
     75         time =  android.os.SystemClock.elapsedRealtimeNanos()-time;
     76         TextView t = new TextView(this);
     77         DecimalFormat df = new DecimalFormat("#.##");
     78         t.setText("avgL=" + df.format(time / (icon.length * 1000000.)) + " ms");
     79         container.addView(t);
     80         time =  android.os.SystemClock.elapsedRealtimeNanos();
     81         for (int i = 0; i < icon.length; i++) {
     82             Button button = new Button(this);
     83             button.setWidth(200);
     84             button.setBackgroundResource(icon[i]);
     85             container.addView(button);
     86         }
     87         setContentView(scrollView);
     88         time =  android.os.SystemClock.elapsedRealtimeNanos()-time;
     89         t = new TextView(this);
     90         t.setText("avgS=" + df.format(time / (icon.length * 1000000.)) + " ms");
     91         container.addView(t);
     92     }
     93 }
     94