当前位置: 首页 > wzjs >正文

企业服务器沧州网站建设优化公司

企业服务器,沧州网站建设优化公司,云南网站制作,模板网站建设源码1 前言 在之前的工作中就偶尔见到同事分析性能的时候,拿出漂亮的火焰图,或者XX图,当时非常惊讶,觉得怎么可以做这么好。 后面看多了,才知道这个原来是安卓的perfetto工具,专门用来分析性能的。别人能玩&a…

1 前言

在之前的工作中就偶尔见到同事分析性能的时候,拿出漂亮的火焰图,或者XX图,当时非常惊讶,觉得怎么可以做这么好。

后面看多了,才知道这个原来是安卓的perfetto工具,专门用来分析性能的。别人能玩,我们当然也能玩,所以现在有时间自己也试试。

2 Camera程序

弄了一个Camera的小程序。

package com.example.cameraxdemo2;import android.content.pm.PackageManager;
import android.os.Bundle;import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.camera.lifecycle.ProcessCameraProvider;
import androidx.camera.view.PreviewView;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;import com.google.common.util.concurrent.ListenableFuture;
import androidx.annotation.NonNull;
import android.Manifest;
import androidx.camera.core.Preview;  // 关键导入
import androidx.camera.view.PreviewView;
import androidx.camera.core.CameraSelector; // 关键导入
import androidx.camera.core.Preview;
import androidx.camera.lifecycle.ProcessCameraProvider;public class MainActivity extends AppCompatActivity {private PreviewView previewView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);previewView = findViewById(R.id.previewView);if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)== PackageManager.PERMISSION_GRANTED) {startCamera();} else {ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CAMERA}, 101);}}private void startCamera() {ListenableFuture<ProcessCameraProvider> cameraProviderFuture =ProcessCameraProvider.getInstance(this);cameraProviderFuture.addListener(() -> {try {ProcessCameraProvider cameraProvider = cameraProviderFuture.get();Preview preview = new Preview.Builder().build();preview.setSurfaceProvider(previewView.getSurfaceProvider());CameraSelector cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA;cameraProvider.unbindAll();cameraProvider.bindToLifecycle(this, cameraSelector, preview);} catch (Exception e) {e.printStackTrace();}}, ContextCompat.getMainExecutor(this));}@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,@NonNull int[] grantResults) {if (requestCode == 101 && grantResults.length > 0 &&grantResults[0] == PackageManager.PERMISSION_GRANTED) {startCamera();}}
}

代码也很简单,就是用了一下安卓的cameraProvider。运行时是这样的。还是用的祖传的荣耀平板8。

3 perfetto

3.1 命令行 

根据教程,可以直接使用adb命令来操作。大概是这样

adb shell perfetto -o /sdcard/trace.perfetto-trace -c - <<EOF
buffers {size_kb: 10240fill_policy: RING_BUFFER
}
data_sources {config {name: "linux.ftrace"target_buffer: 0ftrace_config {ftrace_events: "sched/sched_switch"ftrace_events: "sched/sched_wakeup"ftrace_events: "tracing_mark_write"}}
}
duration_ms: 15000
EOF

 导出成/sdcard/trace.perfetto-trace之后pull出来。但是一运行就报错,提示各种权限问题,还有一些参数问题。看来还是要找个root的机器才行。。。试了很多方法未果,最后放弃了。

3.2 Android Studio

在Studio上也有这功能,但是一开始没发现,找了半天原来是这。

 

好吧,果然还是Android Studio强大,一下就可以抓取了。

这个是内存的。

 

还有CPU的。

 

另外还有个System trace我这边启动报错了,不知道原因。。。

好吧,很好很强大,下次再详细分析吧。。。

3 Perfetto UI

谷歌对于这个还专门有个网站,可以更好的查看结果。但是我上传上去就是报错。。。

 可能还是荣耀平板8的安卓9有点老了吧。。。

另外这个网站还有web usb的功能(真是强大),不过还是因为版本原因没法用。。。

好了,其它的功能下次再看吧,来不起了,太困了。。。

http://www.dtcms.com/wzjs/313432.html

相关文章:

  • 网站设计稿是怎么做的代推广app下载
  • 政府网站建设的战略营销策略ppt
  • html5自适应网站模版搜索引擎优化的流程是什么
  • 网站使用什么语言好百度客服联系方式
  • 在线设计平台csnva重庆百度推广优化排名
  • 网站建设模板怎么做sq网站推广
  • 做旅游网站挣钱吗公司的公关
  • 上海做网站建设百度网盘人工客服电话多少
  • 寻找郑州网站建设公司windows优化大师
  • id97网站怎么做的西安网站seo公司
  • Wordpress支付时效无锡网站优化
  • 手机网站优化技巧seo网络推广企业
  • 深圳seo整站优化承接怎么恶意点击对手竞价
  • 唐山百度网站建设输入关键词自动生成文章
  • 免费奖励的网站有哪些凡科建站平台
  • 韩国企业网站模板下载长尾关键词快速排名软件
  • 改行做网站网站seo主要是做什么的
  • 重庆网站建设狐灵科技推广普通话宣传语手抄报
  • 怎样做信息收费网站大庆建站公司
  • 中企网站建设百度手机助手官网下载
  • 用wordpress做个seo推广骗局
  • 网站建设成本分析网络营销的定义
  • 网站用什么好项目推广方案怎么写
  • 新闻门户网站免费建设如何做市场调研和分析
  • 最新版地址在线seo是什么意思呢
  • php动态网站开发软件百度网站关键词排名助手
  • 东营网站建设报价怎么做推广网站
  • 成都开发网站建设郑州百度公司地址
  • 网站被快照被劫持wordpressseo的主要工作内容
  • 亿唐微方网站建设成人技术培训学校