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

【Android】轻松实现实时FPS功能

文章目录

    • 实时FPS


实时FPS

初始化

 		choreographer = Choreographer.getInstance();lastFrameTimeNanos = System.nanoTime();choreographer.postFrameCallback(frameCallback);

监听并显示

 Choreographer.FrameCallback frameCallback = new Choreographer.FrameCallback() {@Overridepublic void doFrame(long frameTimeNanos) {choreographer.postFrameCallback(this);long now = System.currentTimeMillis();long diff = frameTimeNanos - lastFrameTimeNanos;if (diff > 0) {fps = 1e9 / diff;lastFrameTimeNanos = frameTimeNanos;// 每秒刷新一次if (now - longFpsTime > 1000){// 更新UIgetActivity().runOnUiThread(new Runnable() {@Overridepublic void run() {tvFps.setText(String.format("FPS: %.2f", fps));}});longFpsTime = now;}}}};
http://www.dtcms.com/a/165980.html

相关文章:

  • 开源协议全解析:类型、选择与法律风险规避指南
  • Qwen3本地化部署,准备工作:SGLang
  • UDP报文结构
  • 跨境电商生死劫:IP筛查三法则破解封号魔咒
  • Hadoop 集群基础指令指南
  • 某大麦某眼手机端-抢票
  • 制作一款打飞机游戏37:调度器预览
  • 63. Java 类和对象 - static 关键字
  • BBR 的 RTT 公平性问题求解
  • 高质量水火焰无损音效包
  • 如何安全的计算两个3D向量的夹角?
  • 从实列中学习linux shell6: 写一个 shell 脚本 过滤 恶意ip 攻击
  • 基于Docker Compose的Prometheus监控系统一键部署方案
  • Kafka的Topic分区数如何合理设置?
  • 【数据链路层】网络通信的“桥梁建设者”
  • ComputeShader绘制全屏纯色纹理
  • 【C到Java的深度跃迁:从指针到对象,从过程到生态】第五模块·生态征服篇 —— 第十八章 JVM调优:内存管理的权力游戏
  • 【25软考网工】第四章(4)无线局域网WLAN安全技术、无线个人网WPAN
  • 泰迪杯特等奖案例学习资料:基于多模态数据融合与边缘计算的工业设备健康监测与预测性维护系统
  • 搜索时如何排除一些垃圾站点,比如csdn.net
  • YPay标准版系统-五彩绚丽首页主题V1.0.0
  • pip使用本地缓存
  • 人格伤疤测试:发现内心深处的情感创伤
  • Best Video下载器——全能高清无水印视频下载工具
  • C++从入门到实战(十一)详细讲解C/C++语言中内存分布与C与C++内存管理对比
  • 【数学】角谷猜想
  • 【NumPy完全指南】从基础操作到高性能计算实战
  • 【Hive入门】Hive性能优化:执行计划分析EXPLAIN命令的使用
  • 推荐一款靠谱的声学成像仪
  • 从边缘到云端:边缘计算与云计算的协同未来