一、概括

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

最新的设计图和实现图

★iOS 性能测试工具 SDK的更多相关文章

  1. 安卓性能测试工具-GT,安测试

    GT: 是腾讯出品的一款APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE,  Integrated  Debug&Test  Environment).利用GT,仅凭一部 ...

  2. Ceph性能测试工具和方法。

    0. 测试环境 同 Ceph 的基本操作和常见故障排除方法 一文中的测试环境. 1. 测试准备 1.1 磁盘读写性能 1.1.1 单个 OSD 磁盘写性能,大概 165MB/s. root@ceph1 ...

  3. Android性能测试工具(一)之Emmagee

    Android性能测试工具(一) 之Emmagee Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emm ...

  4. 理解 OpenStack + Ceph (8): 基本的 Ceph 性能测试工具和方法

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  5. iOS开发---iPhone SDK 包含哪些东西?

    第一部分: 在使用Intel芯片的Macintosh计算机开发iOS应用程序所需的全部接口.工具以及资源全都包含于iPhone SDK. 苹果公司将大部分系统接口发布在框架这种特殊的数据包.一个框架就 ...

  6. ceph--磁盘和rbd、rados性能测试工具和方法

    我在物理机上创建了5台虚拟机,搭建了一个ceph集群,结构如图: 具体的安装步骤参考文档:http://docs.ceph.org.cn/start/ http://www.centoscn.com/ ...

  7. 【转】iOS开发工具系列(按功能分)

    http://www.cocoachina.com/newbie/basic/2014/0417/8187.html 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode ...

  8. 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 ...

  9. 基本的Ceph性能测试工具和方法

    测试环境 1. 测试准备 1.1 磁盘读写性能 1.1.1 单个 OSD 磁盘写性能,大概 165MB/s. root@ceph1:~# echo 3 > /proc/sys/vm/drop_c ...

随机推荐

  1. 剑指Offer的学习笔记(C#篇)-- 二维数组中的查找

    题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...

  2. 在VS2008中使用Qt编程(转)

    http://www.cnblogs.com/JohnShao/archive/2012/07/25/2608561.html     一.安装所需软件            1.   下载安装VS2 ...

  3. CSS揭秘—打字动效(四)

    前言:     所有实例均来自<CSS揭秘>,该书以平时遇到的疑难杂症为引,提供解决方法,只能说秒极了,再一次刷新了我对CSS的认知 该书只提供了关键CSS代码,虽然有在线示例代码链接,但 ...

  4. Linux 添加硬盘并分区

    Linux 添加硬盘并分区 *********************** 1.fdisk /dev/sdb 2.m   //帮助 3.p   // p 列出分区表 4.q   //不保存退出: 5. ...

  5. 去除vue路由跳转地址栏后的哈希值#

    去除vue路由跳转地址栏后的哈希值#,我们只需要在路由跳转的管理文件router目录下的index.js中加上一句代码即可去掉哈希值# mode:"history" import ...

  6. Django之缓存+序列化+信号+ORM性能优化+验证码

    缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加 明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcach ...

  7. BZOJ 1116: [POI2008]CLO 并查集

    成立时当且仅当每个联通块都有环存在.一个连通块若有m个点,则必有多于m条有向边,可用并查集来维护. #include<cstdio> #include<iostream> #d ...

  8. JS的使用

    Javascript代码在浏览器中运行,做出更流畅.优美的页面效果,增强用户体验与java是完全不同的东西,只是名称类似而已写在<script></script>标签中 大小写 ...

  9. uvm_mem_mam——寄存器模型(十三)

    有了存储器模型,再来看看存储器的管理 //------------------------------------------------------------------------------ ...

  10. 以后要进行数据收集,打开邮箱就行了 | formtalk入驻Office 应用商店

    『数据收集』,作为一项工作,存在感高的忽视不了——不管你在企业里是什么角色(大部分),Ta似乎都在你的工作范围内. 你是人事:收集招聘数据.员工信息: 你是采购:收集供应商信息.商品数据: 你是市场: ...