一、概括
1. 做一个类似GT的性能测试工具;
2. 第一期主要是CPU、内存功能,要求可以绘制曲线,可以选择曲线区间,自动计算最小值、最大值、均值等,支持曲线全屏显示
目标的视觉效果是类似股票走势图(GT的UI太丑);
3. 后续增加耗电量、网络流量、crash信息收集等功能;
4. 前期准备:SDK的制作,CPU、内存信息获取算法;
5. 这个工具起名Mobile Tortoise,缩写MT,与GT相呼应,寓意一步一个脚印,日臻完美,图标一只小乌龟,类似下图;
修改下,工具更名为:Mobile Totoro,totoro是龙猫的意思,图标改为一只龙猫
二、排期
11.21-11.23: 查找CPU、内存算法;done
11.24-11.27: 完成MRD、UI、UE;done
11.28-12.04: 完成一个曲线图绘制基础类;
12.05-12.11: 完成CPU、内存;
12.12-12.18: 制作SDK;
12.19-12.20: 做出第一版SDK ;
三、MRD、UI、UE
用Sketch绘制
参考:给女朋友的iOS开发教程
曲线可以参考:股票走势图、健康APP图
图表datasource:
1. x轴坐标系的最小值、最大值、间距值
比如默认是[0,60s],间距值默认1s
如果运行时间超过60s,会往后推移
间距值可以通过手指缩放来改变
最小值、最大值、间距值可以自己设定(最小值不小于0,最大值不超过max(60s, 当前时间+20s))
2. y轴坐标系的最小值、最大值
比如CPU默认是[0,100%]
起始值是0,如果峰值没有超过100%,高度不变,如果超出,则把最大值设为峰值的120%、140%、...、200%各个值
3. 点击点附近可以显示y值
4. 线条粗细、颜色
2015.11.30
完成UI初稿,后续慢慢优化
四、技术方案
参考代码:
UUChatView
http://code4app.com/ios/UUChartView/54a8e40a933bf0b43d8b482a
PNChart
https://github.com/kevinzhow/PNChart
库
iOS Charts
https://github.com/danielgindi/ios-charts
Core Plot
https://github.com/core-plot/core-plot
12.09
现在遇到两个问题:
1. 生成的CPU、内存信息,数据model如何组织,如何存储?
2. viewController - tableViewCell-cell的contentView里面的chartView
从前往后的消息传递可以通过依次调用方法来实现,但是反向的回调怎么实现比较好?
看到上面的UUChartView用了委托来实现,chart,View定义了一些委托方法,然后delegate指定为Cell,但这样数据只能由cell来提供了;
如何指定delegate是controller呢?
发凯的建议是:
1. 每个采样点建为一个model,然后完整的数据可以用NSArray来管理
有两个想法:
1)NSArray只保存5点数据,没填充满刷新一次页面
2)用一个单例来管理数据
2. 发凯的建议是viewController将数据传给cell,然后chartView的delegate也设置为cell,有啥反馈都由cell来相应,就不回传给viewController
2016.01.29
最新的设计图和实现图
- 安卓性能测试工具-GT,安测试
GT: 是腾讯出品的一款APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug&Test Environment).利用GT,仅凭一部 ...
- Ceph性能测试工具和方法。
0. 测试环境 同 Ceph 的基本操作和常见故障排除方法 一文中的测试环境. 1. 测试准备 1.1 磁盘读写性能 1.1.1 单个 OSD 磁盘写性能,大概 165MB/s. root@ceph1 ...
- Android性能测试工具(一)之Emmagee
Android性能测试工具(一) 之Emmagee Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emm ...
- 理解 OpenStack + Ceph (8): 基本的 Ceph 性能测试工具和方法
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- iOS开发---iPhone SDK 包含哪些东西?
第一部分: 在使用Intel芯片的Macintosh计算机开发iOS应用程序所需的全部接口.工具以及资源全都包含于iPhone SDK. 苹果公司将大部分系统接口发布在框架这种特殊的数据包.一个框架就 ...
- ceph--磁盘和rbd、rados性能测试工具和方法
我在物理机上创建了5台虚拟机,搭建了一个ceph集群,结构如图: 具体的安装步骤参考文档:http://docs.ceph.org.cn/start/ http://www.centoscn.com/ ...
- 【转】iOS开发工具系列(按功能分)
http://www.cocoachina.com/newbie/basic/2014/0417/8187.html 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode ...
- iOS 4.2 SDK安装
iOS 4.2 SDK安装 ◆系统版本:10.6.5 ◆硬件配置: ◆10G空间,3.5G内存,显卡:GMA950 Xcode 3.2.5和iOS 4.2 SDK下载:http://developer ...
- 基本的Ceph性能测试工具和方法
测试环境 1. 测试准备 1.1 磁盘读写性能 1.1.1 单个 OSD 磁盘写性能,大概 165MB/s. root@ceph1:~# echo 3 > /proc/sys/vm/drop_c ...
- 洛谷P3110 [USACO14DEC]驮运Piggy Back
P3110 [USACO14DEC]驮运Piggy Back 题目描述 贝西和她的妹妹艾尔斯白天在不同的地方吃草,而在晚上他们都想回到谷仓休息.聪明的牛仔,他们想出了一个计划,以尽量减少他们在步行时花 ...
- 洛谷P3757 [CQOI2017]老C的键盘
传送门 首先可以直接把整个序列建成一个完全二叉树的结构,这个应该都看得出来 然后考虑树形dp,以大于为例 设$f[i][j]$表示$i$这个节点在子树中排名第$j$位时的总方案数(因为实际只与相对大小 ...
- Linux 中 ip netns 命令
通过 ip netns help 可以查看所有关于ip netns的命令: network namespace 在逻辑上是网络堆栈的一个副本,它有自己的路由.防火墙规则和网络设备. ip netns ...
- 洛谷 P1908 逆序对(归并排序解法)
树状数组解法:https://www.cnblogs.com/lipeiyi520/p/10846927.html 题目描述 猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不 ...
- mysql导入文件
手里有一个web源码工程文件夹 mysql导入文件: 新建连接,名称随意,用修改设置的用户密码登录,我的连接名称是eee 右击information_schema,建立数据库,数据库名称源码文件名,字 ...
- CC01:确定字符互异
题目 请实现一个算法,确定一个字符串的所有字符是否全都不同.这里我们要求不允许使用额外的存储结构. 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,Fal ...
- [Leetcode] 002. Add Two Numbers
https://leetcode.com/problems/add-two-numbers/ public class Solution { public ListNode addTwoNumbers ...
- uoj46玄学
复杂度辣鸡没人权 疯狂爆oj 感觉要被众多uoj用户骂了 #include <bits/stdc++.h> #define ll long long #define LS ls[now]? ...
- Vue --6 router进阶、单页面应用(SPA)带来的问题
一.Vue-router进阶 回顾学过的vue-router,并参考官方文档学习嵌套路由等路由相关知识. 二.单页面应用(SPA)带来的问题 1.虽然单页面应用有优点,但是,如果后端不做服务器渲染(h ...
- CQRS之旅——旅程4(扩展和增强订单和注册限界上下文)
旅程4:扩展和增强订单和注册限界上下文 进一步探索订单和注册的有界上下文. "我明白,如果一个人想看些新鲜的东西,旅行并不是没有意义的."儒勒·凡尔纳,环游世界80天 对限界上下文 ...
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/33762.html