//获取帧率 public static String getgfx(String packagename) throws IOException { Process process=Runtime.getRuntime().exec("adb shell dumpsys gfxinfo "+packagename); BufferedReader br=new BufferedReader(new InputStreamReader(process.getInputStream())); String str; int dropf=0; int allgfx=0; while((str=br.readLine())!=null) { Pattern p=Pattern.compile("^[^a-zA-Z]\d+\.\d+"); Matcher m=p.matcher(str); float total1=0; int mult; if(m.find()) { allgfx++; System.out.println(str); for(int i=0;i<4;i++) { total1+=Float.parseFloat(str.trim().split(" ")[i]); } if((mult=(int) (total1/16.67))>0) { for(int i=mult;i>0;i--) { dropf++; } } } } //计算帆帧率 float percent1; percent1=(float)allgfx/(allgfx+dropf); System.out.println("总共执行了"+allgfx+"帧,掉了"+dropf+"帧"); System.out.println("帧率百分比为:"+percent1); DecimalFormat df = new DecimalFormat("0.0"); String s=df.format(percent1*60); return s; }